Commit graph

474 commits

Author SHA1 Message Date
pwpiwi 51d4f6f114 fixing iso14443b (issue #103):
- fix: IQ demodulator (FPGA)
- fix: approximately align reader signal delay to tag response delay (FPGA)
- fix: remove deprecated RSSI calculation to improve decoder speed (iso14443b.c)
- fix: better approximation of signal amplitude to avoid false carrier detection (iso14443b.c)
- fix: remove initial power off in iso14443b raw command (iso14443b.c)
- add: enable tracing for iso14443b raw command (iso14443b.c)
- fix: client crashed when checking CRC for incomplete responses (iso14433b.c)
- speeding up snoop to avoid circular buffer overflow
- added some comments for better documentation
- rename functions (iso14443 -> iso14443b)
- remove unused code in hi_read_rx_xcorr.v
2015-06-17 20:27:36 +02:00
marshmellow42 4a3f1a3793 revert t55xx start gap and write timing changes
also noted specs in comments
2015-06-11 23:52:40 -04:00
pwpiwi 09c66f1f09 fixing iso14443b (issue #103): fix timing issue (speeding up
the decoders)
2015-06-03 13:28:28 +02:00
pwpiwi 5b95953d42 fixing iso14443b (issue #103):
- most significant bit of tag data (which happens to be the sign bit)
had been dropped when snooping (FPGA change)
- avoid trying to decode both tag and reader data when snooping (we don't
have the time to do so).
2015-06-02 22:50:16 +02:00
pwpiwi 67ac4bf75c fix issue #103: revert type change. Samples from FPGA are signed.
Renamed iso14443.c to iso14443b.c
2015-06-02 07:28:47 +02:00
pwpiwi 0d9a86c724 Fix issue #103 (hopefully). Quite an old bug which was previously
masked by a big DMA_BUFFER_SIZE.
2015-06-01 19:47:21 +02:00
marshmellow42 e35031d2b7 MFU code cleanup - final ?
fixed bug in debug print in MF 1k sim.
2015-05-27 17:21:42 -04:00
marshmellow42 4973f23d3c clean up mfu device side code
+ add xor calc to util (prep for desfire)
commented out MifareUWriteBlockCompat as it isn't used in client
currently (it is a command we could support..  but why?)
relabeled a few device side mfu functions to be clearer.
2015-05-27 12:24:13 -04:00
pwpiwi 8e074056ac also delete *.bin and fpga_compressor when "make clean".
Add target to make fpga_compressor when client is not yet compiled.
Get version information and cache it when client starts (avoids clearing
BigBuf when calling hw version).
Add some comments and remove debugging printouts.
Add version info and ChangeLog in modified zlib.
2015-05-26 18:12:40 +02:00
marshmellow42 22342f6dfe Add clearCommandBuffer before SendCommand
adjust output of mfu rdbl to be consistent
fix output of mfu dump in case startPage was specified. (also was
missing "i" in second print...)
2015-05-26 10:40:23 -04:00
pwpiwi 0fa01ec7da Compress the .data section as well (saves another 4KBytes and comes for free)
zlib tuning: prevent fpga_compress from generating fixed code blocks
armsrc/Makefile: replace osimage with fullimage
2015-05-26 08:31:32 +02:00
pwpiwi 28b9faccea Tailor zlib to our needs:
- disable support for fixed code blocks. Saves 2KByte code tables in ARM Flash memory
2015-05-26 08:31:30 +02:00
pwpiwi fb22897415 fpga_compress: interleave (combine) fpga_lf.bit and fpga_hf.bit before compression.
fpga_loader.c: change to unweave fpga_lf and fpga_hf accordingly
prepare fpga_compress, fpga_loader and Makefile to handle more than two FPGA config files
revert removal of fullimage Makefile target. Remove osimage instead.
2015-05-26 08:31:28 +02:00
pwpiwi f39198789b replaced gzip with an own compressor tool (fpga_compress.c, based on zlib)
This allows to remove the gzip header support and the z_crc32.[ch] files
(which saves more than 2KBytes of the ARM's flash memory)
2015-05-26 08:31:26 +02:00
pwpiwi 25056d8b47 Finish support for compressed FPGA images in fpgaloader.c
- move zlib source files to separate directory zlib
- rename zlib/crc32.[ch] to zlib/z_crc32.[ch]
2015-05-26 08:31:24 +02:00
pwpiwi add4d47046 add: compress fpga images during compile, uncompress at run time 2015-05-26 08:31:21 +02:00
pwpiwi e61530408c add: hw ver: show FPGA versions for both HF and LF FPGA configs
add: hw ver: show used and free flash memory
chg: prepare fpgaloader for compressed FPGA configs
2015-05-26 08:31:19 +02:00
marshmellow42 79d7bcbb51 updated mfu rdbl and wrbl commands
@iceman1001 s rdbl and wrbl cmd updates.
dump screen output adjusted
2015-05-24 22:28:21 -04:00
marshmellow42 0ce03d9ab0 fix mfu dump getbigbuffer bug
Thanks @iceman1001 for catching my oops, and fixing it :)
2015-05-23 22:35:50 -04:00
marshmellow42 d7acc6403e hf mfu dump - bigbuf allocation fix
some larger nfc tags can get large so set the allocation to the 4k
CARD_MEMORY_SIZE buffersize.
2015-05-19 11:30:50 -04:00
marshmellow42 29250969b0 @iceman1001 s comments/updates mfu cmds 2015-05-18 22:07:11 -04:00
marshmellow42 9d87eb6650 MF ultralight code cleanup 2015-05-18 13:11:00 -04:00
marshmellow42 8258f40969 Iceman1001 s MFU clean up
cleaned up MF UL_C auth code device side.
2015-05-17 20:49:25 -04:00
marshmellow42 cceabb79e6 mfu info / dump attempt at missing auths
NOT TESTED.  will test soon.  probably has bugs!
2015-05-16 01:00:31 -04:00
marshmellow42 2b3af97df2 various bug fixes 2015-05-13 11:07:47 -04:00
marshmellow42 6ce0e5386a HF Search - refactoring cmds to work with it 2015-05-12 16:45:48 -04:00
marshmellow42 75377d29d6 MFU - Icemans further improvements
add UL-C device side read card with authentication
add MF_UL-Annotations
add ntag, and more ul descriptions in hf mfu info
2015-05-06 00:55:29 -04:00
marshmellow42 b3125340f3 Icemans UL-C Auth dev side fix plus a few other ...
... small UL fixes
2015-05-03 15:41:11 -04:00
marshmellow42 92690507ab Iceman's updates to MFU info and dump 2015-04-30 09:28:43 -04:00
marshmellow42 f168b2633b MF Ultralight - Iceman's updates + mine
Beginning of Ultralight additions.
detection of Ultralight Types added
dump command now auto detects type
can authenticate Ultralight C
2015-04-29 18:27:31 -04:00
marshmellow42 e9b8d0dd6e Iceman's mf sim 7bt UID fix from #97 2015-04-28 15:43:58 -04:00
marshmellow42 25d3e5cc83 Merge remote-tracking branch 'upstream/master' 2015-04-08 14:19:19 -04:00
Martin Holst Swende 83602affe5 Fixed buffer initialization errors, as reported in http://www.proxmark.org/forum/viewtopic.php?pid=15337#p15337 2015-04-08 13:31:04 +02:00
marshmellow42 fef74fdce4 lf ask consolidation
backend:
askman and askraw demods merged into askdemod (args adjusted
accordingly)
re-arranged lfdemod.h in alphabetical order and by category

front end:
data detectclock a (ask) now also reports the selected best start
position for demod
data manrawdecode takes an invert arg now
2015-04-08 01:07:39 -04:00
pwpiwi f83c41c75b Merge pull request #89 from pwpiwi/image_shrink
Reclaim more than 19K of ARM flash memory.
2015-03-31 22:57:33 +02:00
Martin Holst Swende d5d6f22718 Merge pull request #91 from marshmellow42/master
lfdemod.c refactoring  (+ bug fixes)
2015-03-31 22:11:19 +02:00
pwpiwi e335ca2846 Reclaim more than 19K of ARM flash memory.
- added compiler options -fdata-sections and -ffunction-sections (thanks to iceman for the hint)
- removed float operations from common/lfdemod.c to avoid adding float libraries to the ARM os image
- moved the fpga images to the data section to avoid reserving unused space for a separate section
2015-03-31 08:07:26 +02:00
Martin Holst Swende caaf9618ae Minor mod to 'hf iclass read', it now also reads and prints the configuration of the tag found 2015-03-29 21:49:58 +02:00
marshmellow42 2eec55c8a4 lfdemods streamline & bug fixes
removed duplicate code countPSK_FC - adjusted countFC to work.
bug fixes & streamlined code in:
lf hid fskdemod
lf em em410xdemod

cleaned up lfdemod.c some
2015-03-27 00:02:30 -04:00
marshmellow42 e0165dcf3a Fixed indents to Tabs from Spaces
Spacing changes ONLY - no code changes
2015-03-25 14:24:36 -04:00
marshmellow42 327a690813 EM410x bug fix 2015-03-24 23:05:46 -04:00
marshmellow42 1fbf895616 lf updates
applies icemans full ata55x7 read/write settings
adds checksum to ioprox (thanks to iceman)
adds silent mode for lf read and getSamples
fix lf em em410xwatch and lf em410xspoof
improve data rawdemod ar -  for biphase demods
improve detectclock a for strong antennas
2015-03-23 16:29:50 -04:00
marshmellow42 13d77ef964 lf t5 read plus lf demod adjustments
lf t5xx commands updated from ICEMAN
lf em410x commands updated
lf search bug fix for 2 args
test scripts from iceman
lf demod:
better ask clock detection with Strong fully clipped waves
better ask raw demod with strong fully clipped waves
fsk demod add back in skipped bits during demod
nrz demod add back in skipped bits during demod
2015-03-22 15:28:48 -04:00
marshmellow42 b41534d142 adjust ask/biphase handling - more complete
also added XL EM410x formats
2015-03-15 22:03:50 -04:00
Martin Holst Swende f7048dc8a9 Implemented usb_poll() within LF sim. This means the LF sim will be aborted whenever something comes over the USB 2015-03-12 16:32:01 +01:00
pwpiwi 04bc1c660b fix: hf 14a raw was broken
(see http://www.proxmark.org/forum/viewtopic.php?id=2351)
2015-03-11 20:19:30 +01:00
marshmellow42 ada339a10f biphase bug fixes 2015-03-09 15:27:20 -04:00
marshmellow42 712ebfa6df 1 bug fix + code trimming 2015-03-07 23:31:23 -05:00
marshmellow42 df51693f95 Merge remote-tracking branch 'upstream/master' 2015-03-06 12:30:16 -05:00
marshmellow42 78f5b1a77c lf sim fixes/creations correct now
fixed lf simpsk
fixed lf em em410xsim
fixed lf sim  (can go right from lf search to lf sim if you have a
strong antenna - if not use a demod first)
2015-03-06 12:28:54 -05:00
marshmellow42 e09f21fa7b Revert "lf sim fixes/creations"
This reverts commit 293de1bad7.
2015-03-06 12:26:33 -05:00
marshmellow42 293de1bad7 lf sim fixes/creations
fixed lf simpsk
fixed lf em em410xsim
fixed lf sim  (can go right from lf search to lf sim if you have a
strong antenna - if not use a demod first)
2015-03-06 12:25:36 -05:00
ikarus 9cefee6f42 Fixed issue #36 & improved file consistency. 2015-03-04 11:00:39 +01:00
marshmellow42 39676885b4 Merge remote-tracking branch 'upstream/master' 2015-03-03 20:44:37 -05:00
Martin Holst Swende c8387e85e3 iClass full simulation of tags now officially works, with some cheating regarding reader update and write commands 2015-03-02 21:30:22 +01:00
marshmellow42 8d960002c8 lf cmds fix, add, show
show command to UI:
data printdemodbuffer - allow printing of demod buffer
Add:
data askgproxiidemod - demod a gproxii tag

Fix:
adjust lf simxxx commands further for testing
2015-03-02 14:42:55 -05:00
Martin Holst Swende e5cd4ee4b4 Tag MAC finally works! (Full sim not yet, though) 2015-03-02 20:14:35 +01:00
Martin Holst Swende 61fe90736b Implemented the correct way to calculate MAC from a tag, feeding it an extra 32 zeroes. Also divided it up into two parts, one of which can be precalculated by the device before the simulation begins 2015-03-02 00:38:36 +01:00
marshmellow42 73da818743 lf simulation tests
added SimulateTagLowFrequencyTest function
with some adjustments that help ASK simulations
FSK and PSK still need help.  Left original HID sim alone as for some it
may partially work.
2015-02-28 14:33:05 -05:00
Martin Holst Swende c99dc845b1 Added the ciphers also.. doh 2015-02-27 20:19:10 +01:00
Martin Holst Swende 10a8875c72 Implemented new optimized version of MAC-calculation for iclass 2015-02-26 20:35:35 +01:00
marshmellow42 872e3d4d6f NEW lf simpsk 2015-02-21 21:36:02 -05:00
Martin Holst Swende b19caaefc2 Fixed minor bugs in iclass fullsim, does not work yet though 2015-02-21 20:47:40 +01:00
marshmellow42 40148ab609 Merge remote-tracking branch 'upstream/master' 2015-02-19 21:38:17 -05:00
marshmellow42 abd6112fc4 Revert "Revert "lf simask, lf simfsk and bug fixes""
This reverts commit e396001c47.
2015-02-19 21:35:34 -05:00
marshmellow42 e396001c47 Revert "lf simask, lf simfsk and bug fixes"
This reverts commit fb0c84c3df.
2015-02-19 21:22:05 -05:00
marshmellow42 fb0c84c3df lf simask, lf simfsk and bug fixes 2015-02-19 21:21:11 -05:00
Martin Holst Swende 1defcf606f More work on iclass full simulation, and some work on iclass tag dump parsing 2015-02-19 10:48:33 +01:00
Martin Holst Swende b67f7ec359 Further implementation of iclass 'fullsim'. Moved protocol definitions to shared file. Had to add some loclass-function to arm-side to support authentication in fullsim mode 2015-02-18 20:02:44 +01:00
Martin Holst Swende e80aeb9695 Started iclass emulator support on device side. Not functional yet 2015-02-14 21:30:26 +01:00
Martin Holst Swende 428d622160 Fixed bug with iclass dump which prevented saving to file 2015-02-14 20:42:23 +01:00
Martin Holst Swende 0cd2a41ac0 Made 125KHz default sampling, instead of 134KHz for LF 2015-02-14 19:55:23 +01:00
pwpiwi 19a700a8b5 hf 14a: if the tag supports it, set default timeout according to ATS
hf epa: remove explicit but arbitrary timeout settings
Bugfix: don't timeout when frame transmission has already started
2015-02-11 22:20:22 +01:00
Martin Holst Swende 61972abbdd Merge branch 'master' into GenericTracing
Conflicts:
	armsrc/iso14443a.c
2015-02-10 21:25:14 +01:00
Martin Holst Swende 904a96cd80 Merge pull request #59 from marshmellow42/master
lf demod additions/fixes
2015-02-09 20:28:12 +01:00
pwpiwi 0c8d25ebd8 Fixed: hf mf sim failed on fast reader responses
In Miller Decoder: don't wait too long for a stable signal
In Miller Decoder: Don't accept sequences of four or more zeroes as start bit
In EmSendCmd14443aRaw: don't wait for emptying the FPGA delay queue if it isn't filled
2015-02-09 06:51:04 +01:00
Martin Holst Swende beefe5bc4d Minor dox 2015-02-07 21:22:53 +01:00
Martin Holst Swende 665775c844 Some documentation and formatting to LogTraceHitag 2015-02-07 21:05:14 +01:00
Martin Holst Swende aabb719dc4 Moved LogTraceHitag to BigBuf (no changes to the function ... yet) 2015-02-07 20:55:17 +01:00
Martin Holst Swende 3000dc4e7e Generic tracing; removed iso14a_XX-functions, removed traceLen as global varible 2015-02-07 20:49:40 +01:00
pwpiwi 3b692427ac Bugfix hw tune, hf tune: voltage measures were VERY wrong
Modified hw detectreader: display reader field strength in mV units and to be less phony
2015-02-07 10:14:49 +01:00
marshmellow42 be2cf126bf Merge remote-tracking branch 'upstream/master' 2015-02-06 14:45:46 -05:00
Martin Holst Swende 7d5ebac993 Merge branch 'master' into GenericTracing
Conflicts:
	armsrc/iso14443.c
	armsrc/iso14443a.c
	client/cmdhf.c
	client/cmdhf14b.c
2015-02-06 08:41:02 +01:00
marshmellow42 e770c64824 lf psk/nrz split, add maxErr argument
changed psk to use wave lengths instead of peaks
split out NRZ from psk demod
added maxErr argument to raw demods (except fsk)
2015-02-05 17:01:18 -05:00
Martin Holst Swende bb42a03ef1 Fix #1 for pm3 iclass simulation, remove erroneous extra bit after transmission 2015-02-05 19:40:47 +01:00
Martin Holst Swende 0644d5e3a3 Merged with master 2015-01-31 18:21:38 +01:00
Martin Holst Swende 31abe49fd3 Some more fixes to longer lf recordings. Now also supports longer snoops, and an additional command 'lf config' has been defined, instead of having to specify all params for every call 2015-01-30 23:03:44 +01:00
Martin Holst Swende b3cc5f2987 Reverted erroneous commit from bigbuf-rework 2015-01-29 19:58:46 +01:00
Martin Holst Swende f6d9fb173f Added client-side support for recording longer samples, fixed last (?) issues on device-side 2015-01-29 00:57:22 +01:00
marshmellow42 0892b968ce fix hid prox standalone bug
Fixed standalone bug by re-making the function return the hi and lo
values. (used only by samyrun function in appmain.c)
2015-01-28 12:55:04 -05:00
marshmellow42 08ebca682c lf hid fskdemod bug
re-introduced in last bigbuf changes
2015-01-28 11:45:31 -05:00
pwpiwi f71f4deb8f BigBuf and tracing rework: allow much longer traces in in hf commands
- provided a BigBuf_malloc() function to dynamically allocate parts of BigBuf
  e.g. for DMA-Buffers, Frame-Buffers, Emulator-Memory
- the whole rest of BigBuf is now available for traces (instead of a small fixed amount)
- send actual traceLen together with trace data
- changed client side to cope with varying traceLen
- changed small buffers to automatic variables instead of parts of BigBuf
2015-01-28 07:18:51 +01:00
pwpiwi 117d9ec25c Refactoring of BigBuf handling in order to prepare for more efficient memory allocation and longer traces. 2015-01-27 22:25:55 +01:00
marshmellow42 a1d17964a2 lf demod bug fix & refactor
fixed bug in lfops.c in hid fskdemod
refactored data fskXXXDemods for specific tags to use more common code.
2015-01-27 14:51:12 -05:00
Martin Holst Swende 16b75f27c3 Minor tweaks to iso14443b snoop tracing 2015-01-27 16:34:11 +01:00
Martin Holst Swende 03dc174036 Minor refactoring 2015-01-27 09:06:01 +01:00
marshmellow42 9c0f13d5dd Merge remote-tracking branch 'upstream/master' 2015-01-26 17:07:49 -05:00
Martin Holst Swende aeadbdb216 Generic tracing: Some fixes in iso14443b snooping, to how DMA access is performed, sizes and buffers. 2015-01-26 22:10:05 +01:00
Martin Holst Swende 7c676e7269 Some documentation 2015-01-26 21:15:28 +01:00
Martin Holst Swende 7242efa07c bugfix 2015-01-22 23:04:59 +01:00