Commit graph

319 commits

Author SHA1 Message Date
Michael Farrell b6e05350b2 hf mf sim: Multiple fixes (iceman1001/proxmark3 #45)
- Fix `hf mf sim` to use nonce_t structures, so key recovery works
- Increases verbosity on the key recovery functionality
- Fix use-after-free for k_sector
- Add help info on `e` option to `hf mf sim`
2016-10-22 21:53:53 +11:00
iceman1001 d5bded10e2 CHG: lowered the timout again, but re-added the spindelay since 14a requires 5ms powerup before entering the idle-state where tag starts to listen.
CHG: fix the ticks compare xx > 1 into  xx >= 1
2016-09-23 23:23:17 +02:00
iceman1001 f885043422 FIX: "hf 14a read" / "hf mf *" / "hf mfdes info" and failure when calling these commands serveral times in row.
For long transactions the sspclock compare with >1 instead of >=1 ..   Now the timer resets properly.
CHG: use some #define constants for iso-commands.
2016-09-23 21:28:07 +02:00
iceman1001 be818b1417 FIX: Forget that the prng was 0x8000 length and not 0xFFFF. Sorry. Also returned to the decomposed loop. Don't know if this armsrc optimises this at compilation time. Does someone know?
CHG: returned the iso14443a_setup order, it might influence my older PM3 device.

*Note*  my Elechouse revisions PM3 works great with this but my older xpfga (green pcb) is hopeless.  It can't fix onto the nonces in 'hf mf mifare'  I think its too slow.
2016-08-31 19:17:39 +02:00
iceman1001 ed8c2aeb63 CHG: forgot a semicolon... 2016-08-24 15:05:10 +02:00
iceman1001 bcacb3168b CHG: removed some extra time to sync,
CHG: first_try ,  it must recalibrate all the times when it comes from the client.
2016-08-24 15:01:36 +02:00
iceman1001 f38cfd6693 CHG: fixed the collapsing comments when opening this file in notepad++ Need spaces between // text or /* ... 2016-08-24 12:34:34 +02:00
iceman1001 6067df30c5 FIX: at least now the special zero parity attack, repeats and doesn't crash. However it doesn't find the key either :( 2016-08-10 10:55:29 +02:00
iceman1001 df007486f5 ADD: @donwan581 select keytype for the darkside attack. 2016-08-04 21:51:26 +02:00
iceman1001 6b23be6b7e CHG: cleaning up. 2016-08-04 21:37:43 +02:00
iceman1001 0a856e292a CHG: adjusted the debug message to the correct mfkey32v2 with right number of parameters. 2016-06-22 09:35:18 +02:00
iceman1001 b070f4e495 CHG: only need a byte in this loop 2016-04-29 22:24:37 +02:00
iceman1001 57850d9dfb CHG: FpgaSetupDMA, handle when it returns NULL. 2016-04-27 20:42:44 +02:00
iceman1001 72e6d4621a code clean up 2016-04-21 10:30:42 +02:00
iceman1001 bc9393715f CHG: "hf 14a sim" command , correct use of FLAGS
CHG: "hf 14a sim" command, changed the data collection for the attackmode in SimulateIso14443aTag.  It now uses @holiman 's original implementation. But we can't change "NR", so we do next.
CHG: "hf 14a sim" command, nonce is increase with every new auth.  This is for the "mfkey32_moebius" attack to work.

CHG: "hf mf sim" command (function void Mifare1ksim ) now handles UID' with length 10.
CHG: "hf mf sim" command nonce is increase with every new auth.  This is for the "mfkey32_moebius" attack to work.
2016-04-18 13:26:16 +02:00
iceman1001 0194ce8fc8 ADD: simulating can now handle triplesized UID (10b)
CHG: moved some mifare #DEFINES into protocols.h  (ACK,NACK..)
2016-04-14 11:09:17 +02:00
iceman1001 91c7a7ccb7 Syntaxt suger,
and some clean up in the "hf mf mifare" code.  I removed the three strategies Pivi added to make the code easier and added a lot of comments to understand.
the WDT bug is still there in this code. Needs further testing yet, before I commit the fix.
So far the fix is quite stable on ubuntu, but on mingw/win is breaking still. Which at this point doesnt make any sense.
2016-04-12 11:36:52 +02:00
iceman1001 ca5bad3d73 CHG: syntax suger,
CHG: the nested call to readerreceive is not negated..
2016-04-10 13:05:01 +02:00
iceman1001 6fc68747f6 ADD: well, starting with a luascript for reading calypso tags, made me remake the 14b raw command on client and device side. Sorry @marshmellow42 , but this one broke your "hf 14b info" implementation. I fixed the "hf 14b read" and the hf search. So not to bad, but still a bit broken. The 14b raw device side is now very similar to 14a raw. Which is good. There is a Standard 14b 0x050008 detection and STmicroelectronic 0x0600 detection on deviceside. This removes a lot of code client side.
I also made the SRi read functions better by combining them.   The demodulation / uart code should be the same as last summers changes.  The device side code can now be even smaller.
2016-03-20 19:33:07 +01:00
iceman1001 aaa1a9a2dc CHG: Added calling clear bigbuff to zero out it also, instead of just "free" it.
ADD:  downloading the EML part from BigBuffer specially.
2016-03-12 09:03:28 +01:00
iceman1001 b03006794f CHG: removing some time-debug statements.
CHG:  increased the time-out message 2sec, in proxmark,  to make "hf mf chk" work better.
CHG:  still trying to solve the "hf mf mifare" WDT_HIT bug.

With these changes,  the "hf mf chk" / "Hf mf nested" looks similar and should be a bit faster.
2016-02-19 22:34:39 +01:00
iceman1001 7504dc50d5 Merge branch 'master' of https://github.com/iceman1001/proxmark3
Conflicts:
	armsrc/crypto1.c
2016-02-16 21:43:45 +01:00
iceman1001 4b78d6b317 CHG: having a go at finding the WDT death second time we run "hf mf mifare"... 2016-02-10 21:46:52 +01:00
iceman1001 4c0cf2d215 Experimeting with finding the "WDT_HIT" bug in "Hf mf mifare", which not shows if "hf mf dbg" is set to 3 or more... 2016-01-25 20:21:11 +01:00
iceman1001 810f53792e ADD: added the possibility to choose which block num to attack with "hf mf mifare" Before it only worked on block 0. 2016-01-20 22:26:01 +01:00
iceman1001 5ebcb867a3 FIX: Some uninitialized variables, some syntax suger, and some extra WDT_HIT calls inside "ReaderMifare" to stop it from trigger when running multiple times in a row. 2016-01-20 19:53:58 +01:00
iceman1001 4a71da5a35 FIX: Coverity Scan complains about resourceleaks, array reads outside of index, uninitialized variables. 2016-01-20 17:13:25 +01:00
iceman1001 495d7f1326 FIX: Coverity scan, forgot one fread ...
CHG: Syntax suger
2016-01-19 22:25:34 +01:00
iceman1001 02a405967e CHG: The nonce from "hf mf nested" is fixed to this one, why is that one selected? Why not just all zeros or ones? 2016-01-19 16:32:29 +01:00
iceman1001 2b1f4228c2 ADD: @marshmellow42 's changes to "hf mfu *" ,
ADD: @marshmellow42 's changes to "hf mf sim",
ADD: @pwpiwi 's parity files was missing.
2015-12-15 09:34:55 +01:00
iceman1001 f8ada309e9 ADD: @pwpiwi 's latest code from his 'hardnested' branch. 2015-12-15 08:51:29 +01:00
iceman1001 c188b1b9b2 ADD: @go_tus simple bruteforce for t55xx, refactored a bit.
ADD: @pwpiwi 's implementation of Hardnested
2015-11-27 16:24:00 +01:00
iceman1001 e9a92fe237 FIX: the read counter in "hf 14a sim" (for ntag/ev) should work better now. Instead of always returning zero, it increases aswell.
--Started to add the TI demod into the 'LF SEARCH"
2015-11-22 21:48:15 +01:00
iceman1001 a126332a7b ADD: @marshmellow's fixes to awid, viking and T55x7
ADD: 'lf t55xx detect' now can be called with a password.
ADD: trying to add the read counter and increase counter commands for ntag sim.
2015-11-22 17:33:41 +01:00
iceman1001 94422fa23f ADD: @marshmellow42 's fixex and resetread t55x7 2015-11-02 20:46:17 +01:00
iceman1001 2285d9dd94 FIX: I did a clean up of the "LF PCF7931" code. The write command is not quite done.
FIX: Added some more "clearCommandBuffer" calls before sending..
2015-10-12 21:30:54 +02:00
iceman1001 5ee53a0e75 ADD: There were lot of calls to enable tracing, but very few to turn it of afterwards in the methods.
Don't know if it has some influence but can't hurt calling  "set_tracing(FALSE);"  when method returns.
2015-10-11 19:14:17 +02:00
iceman1001 3bc7b13d23 ADD: @marshmellow42's decrypt crypto-1 method,
ADD:  @piwi's latest commit to PM3 Master, aiming at the WDR in "hf mf mifare".
2015-10-11 09:07:29 +02:00
iceman1001 e98572a1e2 I just merged @marshmellow's branch "iclass" and that was a lot of new functionality. *great work*
Things like the ICLASS, tryDecryptWord,

--
My other stuff like default keys, some new Mifare EV1 commands 0x40, 0x43 for the logging annotation,  start of the T55x7 configblock helper functionality (ripped from Adam Lauries RFIdler code)
Changes to the PCF7931 functions written,  which has a lousy input check..
2015-10-07 23:00:46 +02:00
iceman1001 0de8e3874d A lot of changes...
.. ntag simulation stuff from @marshmellows branch "ntag/sim"
.. hf mf mifare fixes from @pwpivi.
.. hw status command
.. speedtest function from @pwpivi
.. Viking Functionalities,   (not a proper DEMOD, but a start)
.. GetCountUS  better precision from @pwpivi
.. bin2hex,  hex2bin  from @holiman

...
starting with getting the T55x7 CONFIGURATION_BLOCK for different clone situations. Ripped from Adam Lauries RFidler,   nothing working or finished..
...
Started working with the T55x7 read command with password actually performs a write block...  See Issue #136  https://github.com/Proxmark/proxmark3/issues/136    Not solved yet.

...
Started add SHA256..   not working yet..
2015-10-04 18:01:33 +02:00
iceman1001 0db6ed9a71 Merge some PM3 master commits. Had to re-make the StandAloneMode to work with flags in SimulateIso14443aTag 2015-07-29 01:10:06 +02:00
iceman1001 7838f4beba MERGED: @holimans changes
MERGED: @piwi changes
MERGED: @marshmellows changes.

I'm not even gonna try write up all that stuff..

ADD: changed some commands inside the "Hf 14a sim" on deviceside.
ADD: @mobeius "two nonce" version for mfkey32.   It is also inside the "hf 14a sim" with the "x" parameter.
2015-07-22 23:00:52 +02:00
iceman1001 99cf19d9e8 ADD: @pwpivi 's latest fixes for bigbuff
ADD:  @marshmellow 14b changes.

fix:  fixes to the timing inside iso14443b.c  sniff/sending.  Between TX & RX there should be a 151us pause.
2015-06-29 22:36:55 +02:00
iceman1001 c830303d7e FIX: @pwpiwi 's fixes for darkside / nested attack about the NACK/PRNG bugs. 2015-06-25 12:41:39 +02:00
iceman1001 17ad0e0948 ADD: @marshmellow42 's 14b fixes.
FIX: 14b sim changes in  iso14443b.c ,  *experimental*   I took some timing loops from "14a sim" armsrc/iso14443a.c  and merged it into the "14b sim".   Now using two pm3's I can have one simulating and the other reading and it works.  Ask @pwpiwi if you want to know more of what those timing loops does.  Something about waiting for the fpga delay queue...
2015-06-25 12:25:44 +02:00
iceman1001 ce3d6bd25a FIX: fastread dont do multiplication by zero, thanks @marshmellow42
ADD: "hf 14a sim t 7" now implements a simple incr_counter command. it sends ACK to all requests.
ADD: "hf 14a sim t 7" now prints the password when a "0x1B" (Authenticate) command is received.
2015-06-22 09:49:12 +02:00
iceman1001 5e42846302 CHG: "hf 14 sim t 7" ie NTAG simulation, now reads the emulator memory for read commands. this means you need to load the emulatormemory before... if you want it answer more correct.. 2015-06-21 21:57:52 +02:00
iceman1001 c9216a92aa FIX: "hf 14a sim" fixes to CRC calc.
ADD: added CHECK_TEARING command support in "hf 14a sim" (EV1/NTAG216 command)
BUGS:  the read range probably will could currupt memory..ref:: http://www.proxmark.org/forum/viewtopic.php?pid=16611#p16611
2015-06-21 11:09:54 +02:00
iceman1001 839a53ae4c ADD: added support for commands. READ_SIGNATURE 0x3C, READ_COUNTER 0x39 for NTAGs in "hf 14a sim"
the ECC signature is taken from a NTAG 215 tag. Might work.
      Counters always returns 0,  :)
2015-06-15 14:01:34 +02:00
iceman1001 32719adfa1 ADD: added support for some NTAG/EV1 commands to "hf 14a sim" on device side.
0x1B (authenticate)
          0x3a (fast read)
          0x60 (get_version)

       This is used in a new mode on client,  "hf 14a sim t 7"
2015-06-14 22:40:18 +02:00
iceman1001 2d2f7d1948 ADD: @marshmellow42 's changes / fixes. 2015-05-31 21:47:33 +02:00
iceman1001 c3c241f389 CHG: moved a xor function into util.c
CHG: added some calls to clearCommandBuffer() in /hf mfu/hf 14a sim/hf mf sim/ commands.
CHG: minor adjustments to relative pathing.
2015-05-26 11:04:57 +02:00
iceman1001 46cd801c5a FIX: dumptoemul.lua removed the extra linebreak in the end, making some load commands complain.
MOV: moved the try32/try64 attacks (mfkey32/mfkey64) into the nonce2key.c file
CHG: added @marshmellow42 changes to hf mfu dump layout.
ADD: an extra call to BigBuf_free in readcard..  just to make sure that it doesn't leak memory.
ADD: expermimental call to "try32" for "hf mf sim x".
2015-05-25 13:10:55 +02:00
iceman1001 bcf61bd34a Merge branch 'master' of https://github.com/Proxmark/proxmark3
Conflicts:
	README.txt
	armsrc/appmain.c
	armsrc/apps.h
	armsrc/des.c
	armsrc/iclass.c
	armsrc/mifarecmd.c
	armsrc/mifareutil.c
	armsrc/mifareutil.h
	client/cmddata.c
	client/cmdhf.c
	client/cmdhf14a.c
	client/cmdhficlass.c
	client/cmdhfmfu.c
	client/cmdhfmfu.h
	client/cmdscript.c
	client/lualibs/commands.lua
	client/lualibs/html_dumplib.lua
	client/scripting.c
	client/util.c
	common/protocols.h
	include/usb_cmd.h
2015-05-23 08:16:40 +02:00
iceman1001 d26849d4ae CHG: the device-side code for "hf 14a sim x"
BUG: bcc1 xored error fix in "hf mf sim"
CHG: function rename Snoop -> Sniff.
2015-05-19 08:56:53 +02:00
marshmellow42 e9b8d0dd6e Iceman's mf sim 7bt UID fix from #97 2015-04-28 15:43:58 -04:00
iceman1001 46c65fed6c CHG: adding some variable initalisation to the Uart. 2015-03-30 16:29:30 +02:00
iceman1001 0ec548dc21 Merge branch 'master' of https://github.com/Proxmark/proxmark3
Conflicts:
	armsrc/lfops.c
	client/cmddata.c
	client/cmdlf.c
	client/cmdlft55xx.c
	client/cmdlft55xx.h
	client/scripts/test_t55x7_bi.lua
2015-03-24 11:45:31 +01:00
iceman1001 96f39a47a9 Merge branch 'master' of https://github.com/Proxmark/proxmark3 2015-03-11 22:21: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
iceman1001 12d708fec1 Merge branch 'master' of https://github.com/Proxmark/proxmark3
Conflicts:
	client/cmddata.c
	client/cmddata.h
2015-03-10 09:18:35 +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
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 3000dc4e7e Generic tracing; removed iso14a_XX-functions, removed traceLen as global varible 2015-02-07 20:49:40 +01: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
Martin Holst Swende bb42a03ef1 Fix #1 for pm3 iclass simulation, remove erroneous extra bit after transmission 2015-02-05 19:40:47 +01: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
Martin Holst Swende 9e8255d4e9 Generic tracing pt.3 : reworking how iso14443b-traces are stored in ARM-memory 2015-01-21 23:53:40 +01:00
iceman1001 c8b6da2295 Merge branch 'master' of https://github.com/holiman/proxmark3
Conflicts:
	armsrc/appmain.c
	armsrc/apps.h

Step 1 for the Ultralight / Ultralight-c
2015-01-20 20:59:24 +01:00
Martin Holst Swende 355c8b4a7d Generic trace pt2: made iso14443b use standard trace format 2015-01-18 20:23:58 +01:00
Martin Holst Swende 80fe723570 Generic trace pt1: Moved arm-side trace functionality into util-package 2015-01-18 20:21:53 +01:00
Martin Holst Swende 758f1fd1f3 Fixed issue #43 on github 2015-01-15 16:07:58 +01:00
iceman1001 52ab55ab0d ADD: added a lot of ic ids to cmdhf15.c Thanks to Asper for the list.
ADD: added a manufacturer list in "hf 14a reader",  only viable when UID is double or triple size.  Thanks to Asper for the list.
ADD: detect chinese magic backdoor commands in "hf 14a reader"
CHG: minor code clean up.
2015-01-07 21:06:15 +01:00
iceman1001 3fe4ff4f03 CHG: generic code clean up. Removal of commented code.
CHG: USB_CMD_DATA_SIZE is now used as maxsize for transfer of data between client and pm3device
CHG: suggested a fix for the underscore problem in ioclass\fileutils.c
ADD:  tnp3xx support
ADD:  nxp tag idents.
ADD:  identifiction of chinese backdoor commands to hf 14a reader.
2015-01-05 15:51:27 +01:00
pwpiwi 52bfb95543 bugfixes in iso14443a.c and hf 14a reader
- introduced with the big frame and parity support (commit 6a1f2d82): tag responses with len%8 == 0 were dropped  - thanks iceman for testing and finding
- after unsuccessful hf 14a reader the field stayed on. Thanks to iceman for proposing the fix.
2014-12-23 11:21:42 +01:00
pwpiwi 6a1f2d82bb bugfixes iso14443a (hf 14a commands)
- buffers were too small to handle 256 byte frames
- parity bits were only handled for up to 32 byte frames
- trace format was inefficient
- removed parity calculation from decoders in iclass.c (parity not used on air anyway)
2014-12-16 07:41:07 +01:00
Martin Holst Swende ca4714cd23 More coverity fixes 2014-10-30 21:49:18 +01:00
Martin Holst Swende 2ed270a854 Coverity-fixes in armsrc 2014-10-28 21:44:17 +01:00
pwpiwi bfb6a143ea bugfix hf mf sim
- an additional erronous byte was sent after SAK
2014-08-05 18:40:19 +02:00
pwpiwi b03c0f2d86 bugfixes hf mf sim
- output of debug messages caused communication failures due to timing issues.
  hf mf dbg 4 now required to see these debug messages.
- changed help text for hf mf dbg
- fixed minor bugs in help texts for hf mf sim and hf mf ecset
- display "key A" or "key B" instead of "key=0" or "key=1 in hf mf sim
2014-07-30 21:23:02 +02:00
pwpiwi 991f13f27d minor bugfixes to hf mf sniff and hf 14a snoop
- tracing was not always enabled when starting hf mf sniff or hf 14a snoop
- ATQA was displayed in wrong byte order in hf mf sniff
- 4 Byte UIDs were displayed as 7 Byte UIDs (padded with 0x000000) in hf mf sniff
- same for logfile names.
- assignment (=) had been used instead of == in comparisons (shouldn't have been relevant though)
2014-07-15 08:39:56 +02:00
pwpiwi c7324bef28 Bugfix hf 14a raw:
number of bits sent was wrong when option -c was used without option -b
2014-07-01 08:28:28 +02:00
Martin Holst Swende 42f57e0294 Merged with master 2014-06-27 13:16:31 +02:00
iZsh 7cc204bff8 THIS REQUIRES A BOOTROM UPDATE!! To save FPGA area, split the LF and HF bitstreams and load them on-demand. 2014-06-20 01:02:59 +02:00
Martin Holst Swende fdcd43eb15 Fixed (?) http://www.proxmark.org/forum/viewtopic.php?id=1967, two bytes are discarded when adding crc and sending raw iso14443a commands 2014-04-26 16:15:16 +02:00
Martin Holst Swende 17cba2693d Implemented client side changes for iclass hack, attempted to fix issues with trace. The trace functionality from iso14443 has been rewritten, unfortunately iclass used that also, which made iclass 'list' stop functioning, both for simulation and snooping 2014-04-24 14:13:33 +02:00
pwpiwi d714d3effc Improvements/Fixes to 14443 sniffing/snooping
- fixed a circular buffer rollover bug in iso14443a.c
- fixed 7 Byte UID handling in hf mf sniff
- fixed "cannot append" error in hf mf sniff d
- fixed hint on mfkey32 in hf mf sim x
- fixed hf mf sniff sometimes showing rogue data from previous calloc
- improve snooping/sniffing by syncing modulation detector window with reader signal (hi_iso14443a.v)
- code cleanup of hi_iso14443a.v
2014-03-25 21:38:24 +01:00
micki.held@gmx.de d7aa3739a9 More robust iso14443a sniffing/simulation functions by
- iso14443a.c: less strict Miller/Manchester decoders
- FPGA hi_iso14443a.v: syncing on external readers' clock when simulating and sniffing.
2014-02-23 15:46:19 +00:00
micki.held@gmx.de 7bc95e2e43 - fixed iso1443a ManchesterDecoder in order to fix broken Snoop/Sniff
- enhanced tracing: hf 14a list now shows meaningful timing information. With new option f it also shows the frame delay times (fdt)
- small fix for hf 14b list - it used to run into the trace trailer
- hf 14a sim now obeys iso14443 timing (fdt of 1172 or 1234 resp.)
Note: you need to flash FPGA as well.
More details in http://www.proxmark.org/forum/viewtopic.php?pid=9721#p9721
2014-02-19 20:35:04 +00:00
martin.holst@gmail.com 3be2a5ae0b reverted a non-intended commit with crappy debug printouts 2014-02-05 18:53:55 +00:00
martin.holst@gmail.com 273b57a7b0 Fixed error with ar/nr-collection 2014-02-05 08:07:27 +00:00
martin.holst@gmail.com f87941bd22 Minor typo 2014-01-31 21:24:18 +00:00
martin.holst@gmail.com d2f487af9c Various improvements on the Mifare1kSimulation. Fixed issue with tracebuffer not being cleared, fixed issue with 'static' errors, added modes for doing reader-only attack, added interactive mode, added possibility to set UID from cmdline, either 7-byte or 4-byte. See http://www.proxmark.org/forum/viewtopic.php?id=1529 and http://www.proxmark.org/forum/viewtopic.php?id=1649&p=3 for some more background and discussion 2014-01-31 21:17:34 +00:00
martin.holst@gmail.com af1caf6e4a Fixed (?) issue with mifare simulation auth failed. See http://www.proxmark.org/forum/viewtopic.php?pid=9192#p9192 2014-01-22 08:49:28 +00:00
micki.held@gmx.de e691fc45bc - improved reader sensitivity for 14443a cards (FPGA change!)
- implemented ISO 14443A anticollision loop
See http://www.proxmark.org/forum/viewtopic.php?id=1797 further details
2013-11-19 18:52:40 +00:00
roel@libnfc.org 981bd4292e integrated MIFARE ultralight features, contributed by 'midnitesnake' 2013-10-11 08:43:23 +00:00
roel@libnfc.org ce02f6f992 fixed iso14443a-4 similation, got rid of many ugly memory allocation issues 2013-10-03 14:22:43 +00:00
martin.holst@gmail.com 5f6d6c9003 Raw 14a in commandline, patch by jonor, see http://proxmark.org/forum/viewtopic.php?id=1751 for more info 2013-09-28 19:28:55 +00:00
micki.held@gmx.de 9492e0b098 Major rework of hf mf nested:
- PM: used GetCountMifare in MifareNested() for improved timing accuracy and to deliver better quality nonces
- PM: MifareNested now delivers exactly two different nonces to avoid time consuming multiple lfsr_recovery32() on client side
- Client: replaced quicksort by bucketsort in crapto1.c which is faster 
- Client: use multithreading (two parallel calls to lfsr_recovery32())
- Client: fixed a small bug in mfnested() (always showed trgkey=0)
- Client: introduced a mutex for PrintAndLog() to avoid interlaced printing
Minor rework of hf mf chk:
- Avoid time consuming off/on cycles. Send a "halt" instead.
2013-09-15 09:33:17 +00:00
micki.held@gmx.de 1c611bbd26 2013-07-08 17:56:05 +00:00
martin.holst@gmail.com e772353f72 Major changes to hf mf mifare 2013-06-26 21:13:02 +00:00
martin.holst@gmail.com ea73261dc6 Fixed buffer corruption in iso1443a_select_card, affecting several operations, e.g. hf mf mifare and probably a few more 2013-05-11 12:13:17 +00:00
roel@libnfc.org ed258538da retrieve uid correctly, patched by 'gregy' 2013-05-03 06:58:24 +00:00
dn337t@gmail.com 3803d5295d fixed possibly uninitialized variables 2013-04-24 10:58:12 +00:00
roel@libnfc.org dfc3c5053c removed another redundant function to compose reader short frame 2013-04-03 11:18:01 +00:00
roel@libnfc.org 195af47289 removed redundant function to compose reader short frame 2013-04-03 08:45:04 +00:00
roel@libnfc.org 28afbd2bee added initial test to emulate memory of mf ul tag 2013-03-28 14:02:00 +00:00
roel@libnfc.org 5191b3d10b fixed sending of RATS during iso-14443-4 select 2013-03-27 12:23:59 +00:00
roel@libnfc.org 17331e14ee tweaked sim command, added mfkey32 2013-03-07 12:22:12 +00:00
roel@libnfc.org 79a73ab2d1 fixed USB GPIO bug reported by gregy, and fixed 'hf 14a reader' command 2013-02-27 13:23:38 +00:00
roel@libnfc.org 902cb3c00b major USB update 2012-12-04 23:39:18 +00:00
Merlokbr@gmail.com 5a9506ac45 10 ms was too fast(. 50 is ok 2012-11-08 10:05:10 +00:00
Merlokbr@gmail.com bfaecce6eb there was bug in hf mf mifare. and speed up this command. 2012-11-08 09:48:02 +00:00
roel@libnfc.org d19929cbe8 MAJOR update, added hitag2 reader, emulation and eavesdropping, lots of new code, including FPGA tweaks, part 2 2012-09-18 13:53:17 +00:00
frederikmoellers@aol.de b0127e65f1 -Fixed a bug in iso14_apdu
-According to ISO14443-4, the block number (bit 0) in the PCB needs to be flipped every once in a while. Not doing so leads to the card not responding to commands anymore. The flipping is done according to the standard now.
-Declare iso14_apdu in iso14443a.h to enable usage from other .c files
-iso14_apdu now returns 0 if ReaderReceive returned 0 (to distinguish between the case that ReaderReceive returns -1 and the case that it returns 0)
-Added a new function to change the timeout (to enable changing it from other .c files without the need for a global variable)
2012-08-24 21:00:03 +00:00
Merlokbr@gmail.com 71d90e54cd hf mf sniff transfered parity from arm to decoding procedure 2012-07-17 15:19:15 +00:00
Merlokbr@gmail.com 55acbb2a39 improved command hf mf sniff. Now it cant decode nested authentication and cant write emulator files 2012-07-16 14:49:51 +00:00
Merlokbr@gmail.com 39864b0bd4 "hf mf sniff" low level logics works. 2012-07-11 15:52:33 +00:00
Merlokbr@gmail.com 5cd9ec01e0 hf 14a snoop optimized and added parameters. hf 14a sniff - not work. 2012-07-07 15:29:51 +00:00
Merlokbr@gmail.com b62a5a8444 small improvements, added new command hf mf sniff (there will be cool sniffer). But now... here is optimized hf 14a snoop. As I see it works the same as th old version. 2012-07-06 16:19:05 +00:00
douniwan5788 423efaccad fixed the mifare bug 2012-07-06 07:06:43 +00:00
roel@libnfc.org 7862f4ad5b fixed output 2012-06-29 12:25:31 +00:00
roel@libnfc.org 9fc6a16779 removed output that slowed down the process, this is to avoid missing frames 2012-06-29 12:21:17 +00:00
roel@libnfc.org 254b70a4af cleaned up some code 2012-06-29 12:09:24 +00:00
roel@libnfc.org 4ab4336a97 added better tracing capabilities, fixed some reader issues 2012-06-29 10:47:07 +00:00
roel@libnfc.org 81cd0474cb fixed a lot of simulation issues 2012-06-29 10:24:05 +00:00
dekoninggans@gmail.com 1e26214152 Extended iClass support with Card and Reader emulation! 2012-06-28 13:38:40 +00:00
GooglePlus@YoungJules.net 9f69393035 Commented out unused, set but never read variables (cause build to fail if warnings treated as errors) 2012-06-12 12:21:26 +00:00
dn337t@gmail.com 13d8c68d86 removed redundant Dbprintfs from SnoopIso1443a (issue 25) 2012-05-29 14:16:09 +00:00
dn337t@gmail.com db389d52cc fixed assignment vs. equals operator (issue 35) 2012-05-29 12:47:13 +00:00
Merlokbr@gmail.com 0014cb46da 1. emulator works. tested on ARC1302, NXP pegoda, touchtag, my firm's readers.
2. added increment, decrement, restore, transfer commands
3. fixed several small bugs and small code cleaning
4. there is strange behavier in the emulator: for 7BUID is seems that there is must be a feature that cam make work card withouth 2nd anticollision loop. NXP reader authenticates, but cant read card contents. all the rest readers works, BUT.... my 7BUID mifare card dont work AT ALL  .... I dont know what i should do )
2011-06-25 13:03:01 +00:00
Merlokbr@gmail.com 51969283ec 1. fixed (it seems) readline behavior. Now there is no proxmark3 prompts on the data.
2. emulator goes into beta stage.
works:
- work with 4BUID and 7BUID dumps
- load/save/grab dumps
- emulate select
- emulate authentication (with nested)
- emulate read/write blocks
- emulate NACK-ACK ping-pong
2011-06-23 16:49:39 +00:00
Merlokbr@gmail.com 8556b852ed 1. updated usb commands
2. added abilities to: clear, get, set, load from card, load from nested card emulator dump
3. tried to fix proxmark promt have seen everywhere (not so good)
4. reorganized arm code
2011-06-17 18:39:54 +00:00
Merlokbr@gmail.com 8f51ddb0bd 1. fixed send manchester
2. emulator commands select, authenticate, read block, write block works
3. nested authentication - not working (maybe next release)
4. small bugfixes
5. mifare1ksim - in alpha state!!! code not so clear!!!
2011-06-16 14:43:49 +00:00
Merlokbr@gmail.com 0a39986e01 alpha2 mifare emulator 2011-06-14 15:28:21 +00:00
Merlokbr@gmail.com 9ca155ba44 0. its alpha version!!!
1. commands changed from "hf 14a" to "hf mf" 
2. some code cleaning and small bugfixes
3. alpha version hf mf sim
4. added internal function GetTickCount() for time measuring
2011-06-10 13:35:10 +00:00
Merlokbr@gmail.com f397b5cc87 1. fixed hf 14a mifare. added functionality to ignore one Nt
2. completed hf 14a nested
3. added hf 14a chk to check keys
5. added check keys to hf 14a mifare and hf 14a nested
6. added debug level to mifare commands
7. small bugs and improvements
2011-06-07 12:35:52 +00:00
Merlokbr@gmail.com 50193c1e3e 1. small bugfix in hf 14a mifare
2. now in cmd  hf 14a mifare - blinks LED_C
3. bugfix in readblock
2. bugfix in USB CommandReceived
3. small improvements
2011-06-01 14:12:11 +00:00
Merlokbr@gmail.com f89c705002 improved version of "hf 14a mifare" command
with merge with utility nonce2key
2011-05-31 11:31:20 +00:00
Merlokbr@gmail.com 4abe4f5867 nested authentication works ok (tested)
and code cleaning
2011-05-26 15:20:03 +00:00
Merlokbr@gmail.com 20f9a2a1d5 1. Mifare read block command
2. Mifare read sector (via 1)
3. Mifare write block
4. fixed several bugs in iso 14443 select
added
Issue 23
Issue 26
2011-05-26 12:55:15 +00:00
dekoninggans@gmail.com cee5a30d53 Added iClass eavesdrop support for Proxmark3 2011-05-18 12:33:32 +00:00
dekoninggans@gmail.com 593924e751 Bitsync fix 2. Gerhard 2011-02-04 19:43:48 +00:00
dekoninggans@gmail.com 2f2d9fc5ac Fixed some small mistakes in the bit synchronization of Miller and Manchester decoding part. Gerhard 2011-02-04 16:25:31 +00:00
dekoninggans@gmail.com d82c6ebb84 Fixed ISSUE 15 in iso14443a.c - Gerhard 2011-01-28 12:34:05 +00:00
henryk@ploetzli.ch 6c1e2d95f4 Add a ramfunc section in the data segment, which will be copied to ram on startup.
Add a RAMFUNC function attribute to have functions copied to and run from ram.
Fix "blew circular buffer" error in hf 14a snoop by executing SnoopIso14443a from ram (eats about 3.5k of ram)
2010-10-08 10:23:04 +00:00
adam@algroup.co.uk 534983d735 iso14a reader patches [Hagen Fritsch] 2010-07-13 13:39:30 +00:00
adam@algroup.co.uk 7e758047e4 iso14a cleanup and implement RATS [Hagen Fritsch] 2010-06-26 08:24:21 +00:00
d18c7db 72934aa313 Streamline some code, tidy up redundant functions, no change in functionality. 2010-03-05 04:14:04 +00:00
izsh@fail0verflow.com ed82636b49 There is no proof this fix anything. This could just be out of randomness or subtle compiler optimization differences due to the change. 2010-03-04 00:30:54 +00:00
d18c7db bad6eab230 Fix possible type casting issue. Add another JTAG config file :) 2010-03-03 02:27:14 +00:00
marcansoft bd20f8f478 Add license headers to armsrc/bootrom/common stuff
I have kept whatever copyright notices exist. Please add your own
copyright notice if you have made any nontrivial changes or additions to
the code. There are several files without any attribution, currently.
2010-02-21 00:12:52 +00:00
marcansoft 9ab7a6c755 Split str* and mem* into string.[ch] 2010-02-21 00:10:28 +00:00
marcansoft f7e3ed8287 Clean up data types, some header cleanup, etc. 2010-02-20 22:51:00 +00:00
marcansoft e30c654b19 More en masse cleanup (whitespace/newlines/headers/etc) 2010-02-20 21:57:20 +00:00
marcansoft 15c4dc5ace Clean up line endings, switch everything to LF instead of CRLF
Doing this for bootrom and armsrc for now. If you're using Windows,
please configure your editor for LF line endings.
2010-02-20 21:24:25 +00:00
izsh.f0f 7fe9b0b742 Client cleanup and restructuring. Stage 1...
Next Step is refactoring some of the giant functions which are
just copy/paste of some other ones with just a few line changes,
removing unnecessary 'goto' etc.

The MS Windows version is broken with this commit but will be fixed
soon. Everything can't be done all at once :P

The commands are now hierarchical, for example:
"hf 14a read" vs. "hf 14b read".
You can also request help:
"hf help", "data help", "hf 15 help" etc.

Indents are now space-based, not tab-based anymore. Hopefully
no one will be trolling about it, considering the suicide-prone work
being done here ;)

client/cmdhw.c, client/proxusb.c, client/cmdhw.h, client/proxusb.h,
client/cmdmain.c, client/cmdlfhid.c, client/cmdmain.h, client/cmdlfhid.h,
client/data.c, client/data.h, client/cmdhf.c, client/cmdlf.c,
client/cmdhf.h, client/cmdhf15.c, client/cmdhf14b.c, client/cmdlf.h,
client/cmdhf15.h, client/cmdhf14b.h, client/cmddata.c, client/cmddata.h,
client/ui.c, client/cmdparser.c, client/cmdlfti.c, client/ui.h,
client/cmdlfem4x.c, client/cmdparser.h, client/cmdlfti.h, client/cmdlfem4x.h,
client/graph.c, client/graph.h, client/cmdhf14a.c, client/cmdhf14a.h,
client/cmdhflegic.c, client/cmdhflegic.c: New files.

client/cli.c, client/flasher.c, client/snooper.c, client/proxmark3.c,
client/proxmark3.h, client/Makefile: Update accordingly.

client/flash.h, client/flash.c, client/proxgui.cpp: Cosmetic changes.

client/translate.h, client/command.c, client/gui.c,
client/usb.c, client/prox.h: Remove.

include/usb_cmd.h (CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_14443_SIM): Remove dead cmd.

common/crc16.h: New file.
common/crc16.c: Modify accordingly.
common/iso14443crc.h: New file.
common/iso14443_crc.c: Rename to
common/iso14443crc.c: and modify accordingly.

armsrc/lfops.c, armsrc/iso14443.c,
armsrc/iso14443a.c: include .h files from
the common directory instead of including the c files.

common/Makefile.common, armsrc/Makefile: Modify accordingly.
2010-02-04 01:27:07 +00:00
bushing 850427c8a9 switch away entirely from using DbpInteger to Dbprintf 2010-01-02 00:34:43 +00:00
roel@libnfc.org 32cfae439e mifare firmware update 2009-12-30 00:11:50 +00:00
roel@libnfc.org 84c02e97e0 iso14443a cleanup, cascade2 level working again 2009-12-28 17:21:50 +00:00
roel@libnfc.org d24438f85c cleaning up endless copy-paste of trace functionality 2009-12-28 00:16:05 +00:00
d18c7db 6949aca9fa Pushed standard AT91 defines into main code 2009-09-29 12:13:41 +00:00
adam@algroup.co.uk 5435eb0ca2 switch off reader field after hi14areader command 2009-08-24 12:20:54 +00:00
adam@algroup.co.uk 093cbaf63e fix Mifare AUTH for hi14areader command 2009-08-24 12:09:43 +00:00
edouard@lafargue.name 0e25ae1102 Rationalized LED usage in 14443-B: LED D shows RF Field OK,
and LED A, B and C respectively show:
- Receiving from reader
- Transmitting to tag/reader
- Receiving from tag

Also, updated the snoop function to make full use of the DMA buffer, which removes (in my case) all the 'blew DMA buffer' issues.

Last, moved the compilation of iso1443.c to ARM mode (not thumb) to make it faster on my Linux gcc 4.3 version, otherwise the 'blew DMA buffer' issue was systematic.

Also: restored the "indalademod" command which had mysteriously disappeared from the prox.exe (proxmark3) client!
2009-04-26 14:26:06 +00:00
edouard@lafargue.name 30f2a7d38f Added LF frequency adjustments from d18c7db, cleaned up code,
typo fixes in iso14443a code, added the missing "tools" directory,
added initial elements for online/offline detection for commands.
2009-04-15 08:09:06 +00:00
edouard@lafargue.name 6658905f18 Initial commit for the firmware. Used the 20090306_ela version as baseline.
It is identical to the popular 20081211, with the doob addition (20090301), a
linux client, and two additional commands for LF analysis. Let me know if
you find issues here!
2009-04-09 06:43:20 +00:00