Commit graph

256 commits

Author SHA1 Message Date
iceman1001
4a79e52c0b Added piwis patch,
first version of finding out the card size. Experimental.
2014-09-11 22:33:43 +02:00
pwpiwi
baeaf57950 fix/add support for 4K (and other non 1K) card sizes in hf mf commands
- hf mf rdsc (fix): didn't account for 16 block sectors, allowed max sector 63 instead of 39
- hf mf ecfill (add): added (optional) card size parameter and support for non 1K cards
- hf mf dump (add): added (optional) card size parameter and support for non 1K cards
- hf mf dump (fix): Access Condition 011 not handled correctly (tried to access with key A)
- hf mf restore (add): added (optional) card size parameter and support for non 1K cards
- hf mf nested (fix): didn't account for 16 block sectors, allowed max sector 63 instead of 39
- hf mf nested (fix): always dumped 16 keys to dumpkeys.bin instead of correct number
- hf mf chk (fix): always dumped 16 keys to dumpkeys.bin instead of correct number
- hf mf eget (fix): displayed three instead of one block
- hf mf eload (add): load 4K .eml files (but accepts 1K .eml files for backwards compatibility)
- hf mf esave (add): always save the whole emulator memory (4K) instead of 1K only
- hf mf ecfill (add): added (optional) card size parameter and support for non 1K cards
2014-09-10 19:04:50 +02: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
6db28145ea Merge remote-tracking branch 'origin/master' into iclass-fixes 2014-06-28 12:47:40 +02:00
iZsh
3b2fee43ea New LF edge detection algorithm + lowpass filter
This is a new LF edge detection algorithm for the FPGA.

- It uses a low-pass IIR filter to clean the signal
(see https://fail0verflow.com/blog/2014/proxmark3-fpga-iir-filter.html)
- The algorithm is able to detect consecutive peaks in the same
  direction
- It uses an envelope follower to dynamically adjust the peak thresholds
- The main threshold used in the envelope follower can be set from the ARM side

fpga/lf_edge_detect.v,
fpga/lp20khz_1MSa_iir_filter.v,
fpga/min_max_tracker.v: New file.

fpga/lo_edge_detect.v, fpga/fpga_lf.v: Modify accordingly.

armsrc/apps.h (FPGA_CMD_SET_USER_BYTE1,
FPGA_CMD_SET_EDGE_DETECT_THRESHOLD): New FPGA command.
fpga/fpga_lf.v: Modify accordingly/Add a 8bit user register.

fpga/fpga_lf.bit: Update accordingly.

fpga/tests: New directory for testbenches

fpga/tests/Makefile: New file. It compiles the testbenches
and runs all the tests by default (comparing with the golden output)

fpga/tests/tb_lp20khz_1MSa_iir_filter.v,
fpga/tests/tb_min_max_tracker.v,
fpga/tests/tb_lf_edge_detect.v: New testbenches

fpga/tests/plot_edgedetect.py: New script to plot the results from
the edge detection tests.

fpga/tests/tb_data: New directory for data and golden outputs
2014-06-27 14:27:03 +02:00
Martin Holst Swende
42f57e0294 Merged with master 2014-06-27 13:16:31 +02:00
iZsh
b014c96d68 new command "lf snoop" to snoop raw ADC values
fpga/lo_read.v (lf_field): new argument.
fpga/fpga_lf.v: modify accordingly.

armsrc/apps.h (FPGA_MAJOR_MODE_LF_READER): Rename as FPGA_MAJOR_MODE_LF_ADC.
armsrc/apps.h (FPGA_LF_ADC_READER_FIELD): New LF option.
armsrc/lfops.c: Modify accordingly.

client/cmdlf.c (CmdLFSnoop): New command.
armsrc/appmain.c, armsrc/lfops.c, client/cmdlf.h, include/usb_cmd.h: Modify accordingly.
2014-06-21 21:33:54 +02:00
iZsh
62638f87db armsrc/fpgaloader.c: forgot the copyright notice 2014-06-20 12:29:58 +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
9f6e9d1575 More work on iclass simulation attack 2014-06-16 21:27:12 +02:00
Martin Holst Swende
fa541aca96 Minor changes, it may actually work now, need to test with a credentialed reader 2014-06-07 22:16:57 +02:00
Martin Holst Swende
94ad01bfba Merged with head 2014-06-07 22:04:27 +02:00
Martin Holst Swende
81012e670b debug in progress 2014-06-07 22:00:31 +02:00
Martin Holst Swende
e3dc1e4cf5 Minor changes in iclass.c 2014-06-07 21:49:56 +02:00
Martin Holst Swende
83fd67ba0b Added mode for 424k modulation (iso 15693) 2014-06-07 21:40:47 +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
f83cc12613 More work on iclass 2014-04-24 15:48:00 +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
Martin Holst Swende
ff7bb4ef17 Experimenting with hacking iclass 2014-04-17 09:53:54 +02:00
Martin Holst Swende
cba867f202 Final (?) fixes to git versioning https://github.com/Proxmark/proxmark3/issues/10 2014-04-04 20:14:58 +02:00
ikarus
9c6837165b Updated nameing (svn -> git) & fixed whitespaces. 2014-04-02 21:46:25 +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
penturalabs
a1f3bb120f Added Kantech ioProx Support 2014-03-18 20:52:48 +00: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
jonor@live.it
4f269f63da Added more informations at command hw version. Now we can get some informations of microcontroller.
Maybe is useful when someone got a bigger AT91

Example:
#db# Prox/RFID mark3 RFID instrument                 
#db# bootrom: svn 756-unclean 2013-09-14 15:04:07                 
#db# os: svn 796-unclean 2013-10-04 18:50:44                 
#db# FPGA image built on 2013/ 9/26 at  9:17:32                 
uC: AT91SAM7S256 Rev B          
Embedded Processor: ARM7TDMI          
Nonvolatile Program Memory Size: 256K bytes          
Second Nonvolatile Program Memory Size: None          
Internal SRAM Size: 64K bytes          
Architecture Identifier: AT91SAM7Sxx Series          
Nonvolatile Program Memory Type: Embedded Flash Memory
2013-10-04 18:54:10 +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
jonor@live.it
0318894e52 Correct issue of blew circular buffer in hf 14b snoop with gcc 4.7.4 the issue is solved 2013-09-30 19:08:29 +00:00
douniwan5788@gmail.com
b19bd5d689 Add support in 'hf mf mifare' for some unlicensed/compatible mifare card which always answer NACK.
Change the 'nttmp' start from nt distance 500 to 100 in mifarecmd.c to compatible some unlicensed/compatible mifare card.
2013-09-29 11:44:07 +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
henryk@ploetzli.ch
bf7163bdb3 * Add an option to lf read command to use an arbitrary divisor, enabling reading at frequencies other than 125 and 134 kHz. 2013-09-27 13:48:20 +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
martin.holst@gmail.com
7cf3ef203c Patch by jonor for raw ISO 1444B commands. See http://www.proxmark.org/forum/viewtopic.php?id=1729 for more info 2013-09-01 18:41:05 +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
dn337t@gmail.com
79c3611cf3 fixed Mifare nested by activating commented SpinDelay()s 2013-05-30 14:48:27 +00:00
apresence@gmail.com
e67b06b706 Support for cloning to T55x7 at different clock rates & 134KHz
* Modified commands (lf em4x):
  em410xwatch      ['h'] -- Watches for EM410x 125/134 kHz tags (option 'h' for 134)
  em410xwrite      <UID> <'0' T5555> <'1' T55x7> [clock rate] -- Write EM410x UID to T5555(Q5) or T55x7 tag, optionally setting clock rate
* Better option checking for em410xwrite & fix for uninitialized vars
* Increased samples from 2000 to 4000 in em410xwatch (2000 is OK for clock=64, but too few for clock=32)
2013-05-12 08:11:00 +00:00
martin.holst@gmail.com
9836a77f97 Fixed a third issue where a buffer was filled with 0x44, affecting chinese cards-commands.(csetblk) 2013-05-11 12:23:31 +00:00
martin.holst@gmail.com
354d3a33fd Fixed another issue where a buffer was filled with 0x44, affecting chinese cards-commands. see http://www.proxmark.org/forum/viewtopic.php?id=1467&p=6 2013-05-11 12:22:11 +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