Commit graph

106 commits

Author SHA1 Message Date
pwpiwi 0ab9002f36 fix hf iclass sim
* sim 2: add responses to read(1) (Config) and read(5) (AIA)
* sim 2/3: don't restrict CC to 00 bytes only
* sim 3: add responding to read block commands
* sim 2/3: add responding to READ_CHECK_KC
* fix sizes of pre-encoded tag answers
* change default card challenge
* remove commented code
* use #defines instead of numerical constants for simulation modes
* some reformatting
2019-08-31 17:53:14 +02:00
pwpiwi 0b4efbdef2
add: 'hf mf personalize' (personalize UID on Mifare Classic EV1 7byte UID cards)
* add/use some #defines
* whitespace fixes
* #include refactoring
* add line to CHANGELOG.md
2019-08-22 07:53:17 +02:00
t0m4 096dee1784 Add 'hf 15 csetuid' command to set UID on ISO15693 Magic tags (#842) 2019-07-14 12:31:33 +02:00
marshmellow42 2de26056ce add lf em 4x05protect plus lf config s option (#833)
* add "samples to skip" for lf config (mainly for lf snoop)
* add lf em 4x05protect command to write protection on em4x05 chips
* fix spacing
* and remove old comment git added back in..
* update changelog
* fix flags - only need 1 bit
2019-06-23 13:43:55 +02:00
pwpiwi a8561e356b
fix hf mf sim (#812)
* fix parity encryption (thanks to Eloff, http://www.proxmark.org/forum/viewtopic.php?id=6347)
* add support to simulate Mifare Mini, Mifare 2K and Mifare 4K
* change to standard LED handling (A: PM is working, B: reader is sending, C: tag is responding, D: HF field is on)
* NAK on unknown commands
* allow unencrypted HALT
* don't display messages during simulation (or we will miss next reader command)
* use DMA to receive reader command
* switch earlier from send to listen mode
* move ADC initializer to iso14443_setup
* remove remainders of incomplete Mifare 10Byte UID simulation
* show 'short' bytes (7Bits or 8Bits without parity) in 'hf list mf' and 'hf list 14a'
* whitespace
2019-04-19 10:22:10 +02:00
pwpiwi fc52fbd42f
Add raw HF signal plotting (#786)
* Add raw HF signal plotting
* new fpga module hi_get_trace.v - store A/D converter output to circular buffer on FPGA
* new command 'hf plot' - pull data from FPGA and display it in Graph Window
2019-02-20 19:18:12 +01:00
pwpiwi a9104f7e31
Add support for standard USB Smartcard Readers (#765)
* add PCSC interface (pcsc.c and pcsc.h)
* new command 'sc select' to choose an USB Smartcard Reader
* updated CI/.travis.yml accordingly
* remove TCK CRC check in i2c.c It is done in PrintATR() anyway
* Fix TCK CRC check in PrintATR()
* Add PCSC reader support to 'sc info'
2019-01-28 21:54:34 +01:00
pwpiwi d9de20fa4b
Fix 15 snoop (#752)
* fixing hf 15: implement hf 15 snoop
* rename hf 15 record to hf 15 snoop
* speedup sampling / decoding:
*   new FPGA mode FPGA_HF_READER_RX_XCORR_AMPLITUDE implements amplitude(ci, cq) on FPGA
*   inlining the decoders in iso15693.c
*   inlining memcpy/memset in LogTrace()
*   giving up the moving correlator for SOF in Handle15693SamplesFromTag
* decode more of EOF in Handle15693SamplesFromTag()
* some refactoring
2019-01-12 13:28:26 +01:00
Fl0-0 786ad91c85 Fix CMD_PCF7931_BRUTEFORCE duplicate case value (#750) 2019-01-07 08:55:04 +01:00
Samuele 818e15b0c8 PCF7931: improved read code and implemented a simple password bruteforce (#745)
* Improved PCF 7931 read code and implemented a simple PCF7931 password bruteforce
* Warning on the PCF7931 bruteforce command
2019-01-06 18:33:06 +01:00
☃ Stephen Shkardoon ☃ 5f84531b82 Paradox clone functionality implemented (#747)
This involves a refactor to the arm HID code to allow for arbitrary
preambles (such as HID Proximity and Paradox).
The client also borrows from the HID code, but is not shared, so could
use a significant refactor in the future.
2019-01-05 09:48:59 +01:00
florianrock 7b6e320533 HitagS Improvements (#721)
* support of HITAG S standard communication mode
* fixed wrong AC (Anti Collision) decoding
* support of block read mode
* fixed wrong uid send when using simulation
* support of communication mode parameter  (client is backward compatible)
* support of start-page parameter (important for some weird tags) (client is backward compatible)
* also expect pages if tag memory size in con0 is 11 (we got some tags)
* corrected hitagS reader cmd help
2018-11-30 17:42:22 +01:00
marshmellow42 43591e6464 Add Smartcard functions (RDV4.0) (#646)
* allow common makefile options-defines

* remove non-existing file references

* Uncomment lcd option (still) not enabled by default

use Makefile_Enabled_Options.common
to enable lcd if desired.

* Add Smartcard Functions

* add smartcard to menu + make get atr work

sc is now functioning as far as my limited knowledge takes me

* sc cleanup - add init to all sc commands...

because cmds won't work until the first init happens.  (multiple inits
don't appear to affect it negatively)

* default options to exclude Smartcard

for main repo

* update changelog
2018-08-21 05:08:49 +02:00
pwpiwi 3851172d81 Revert "Comms refactor (prerequisite of libproxmark work) (#371)" (#450)
This reverts commit afdcb8c159.
2017-10-27 09:56:46 +02:00
Michael Farrell afdcb8c159 Comms refactor (prerequisite of libproxmark work) (#371)
* Refactor the comms code only from PR#346, without comms_globals.h.
* OSX: Add note for example serial port
2017-10-26 21:54:27 +02:00
Oleg Moiseenko 3a05a1e739 reworking magic cheneese card wipe (#365)
Implement hf mf cwipe. Remove wipe parameter from hf mf csetuid.
2017-09-22 19:40:42 +02:00
pwpiwi c48c4d7856 New: implementing hf mf hardnested
This implements the attack described in
	Carlo Meijer, Roel Verdult, "Ciphertext-only Cryptanalysis on Hardened
	Mifare Classic Cards" in Proceedings of the 22nd ACM SIGSAC Conference on
	Computer and Communications Security, 2015
It uses precomputed tables for many bitflip properties (not only two as in the paper)
and is therefore quite efficient. To prevent failing it doesn't do
differential analysis with several nonce bytes' Sum(a8) properties (each of them
may be wrongly guessed) - instead it concentrates on one nonce byte and tries all
Sum(a8) property guesses sequentially (ordered by probability). The brute force phase
makes use of aczid's bit sliced brute forcer (https://github.com/aczid/crypto1_bs).
Includes runtime CPU-detection to leverage modern (and old) SIMD instructions
with a single executable.
2017-05-31 07:30:56 +02:00
marshmellow42 e04475c421 Add @Iceman1001 s cotag read
also needed to include some of icemans timer additions.
2017-02-03 00:14:34 -05:00
Michael Farrell f9c1dcd9f6 Adds random nonce (r) option to hf mf sim.
This makes the PM3 generate pseudo-random nonces rather than sequential
nonces, to make it act a bit more like a "real" MFC card.  A reader would
otherwise be able to detect the PM3 probing based on the predictable nonces
and throw different authentication challenges (or refuse to authenticate at
all).

The code includes an implementation of a rand-like function (prand), similar
to the one from libc, which is seeded automatically based on the time it
takes between the PM3 starting up and the first call to the RNG.

This isn't cryptographically random, but should be "good enough" to be able
to evade basic detection.
2017-01-26 18:32:25 +11:00
Iceman 7669409547 Merge pull request #185 from marshmellow42/master
some lf fixes and hf mf sim attack mode add-ons
2016-08-12 13:55:09 +02:00
marshmellow42 c872d8c177 update hf mf sim x attack mode - start 10byte uid..
..support  (some from @iceman1001)
(sim reader attack currently testing std mfkey32 vs mfkey32_moebius
version...)  possibly will remove one later.
2016-06-24 01:31:27 -04:00
Richard Antony Burton fdcfbdcc21 add l/h option to hw tune and optimize order of tuning 2016-06-01 08:13:20 +01:00
Ralf Spenneberg 4e12287d19 Experimental HitagS support 2016-03-04 17:28:05 +01:00
marshmellow42 709665b5d1 lf viking build / lf awid refactor / lfdemod.c debugMode==2
lf viking from other users - just put my spin on it
lf awid refactored code - possible to make it not 26bit specific now
with minor chanages
lfdemod.c now supports extra debug printing if `data setdebug` = 2 when
not on device (on client not arm)
2015-11-22 00:00:32 -05:00
marshmellow42 8949e04584 Merge remote-tracking branch 'upstream/master' 2015-11-03 20:19:46 -05:00
marshmellow42 66837a0302 Add lf t55xx resetread cmd + fix clone cmds
resetread cmd to determine start of streaming bits of ata5577 or
compatible chips...
fixed lf clone bugs introduced while refactoring recently...
2015-10-30 23:23:27 -04:00
etmatrix 0472d76de4 The great work of Enio hf snoop is now ported into latest version in git
you can find original work here https://github.com/EnioArda/proxmark3
2015-10-23 15:40:35 +02:00
marshmellow42 be2d41b73a updates to lf t55xx commands
fix wakeup cmd per @iceman1001
fix dump and read cmds
clean up write command
allow page 1 read/write (block 3 is writable)(ata5577 only)
remove duplicate code
2015-10-22 16:19:23 -04:00
marshmellow42 c54dff4f4a Merge remote-tracking branch 'Proxmark/master' into iclass
Conflicts:
	CHANGELOG.md
2015-10-07 09:34:47 -04:00
Dake dc4300bafb add : writing on PCF7931 tags 2015-08-26 15:53:49 +02:00
marshmellow42 3ac22ee1cf use read instead of readcheck except to auth 2015-07-23 01:12:02 -04:00
Martin Holst Swende e2012d1bd3 Implemented 'hw status' and 'hw ping', put back client-side cacheing of 'hw version' 2015-07-21 23:18:51 +02:00
marshmellow42 6b659d2406 Merge remote-tracking branch 'upstream/master' into iclass 2015-07-20 21:26:35 -04:00
marshmellow42 aa53efc340 iclass additions
multiple contributors - thanks!
2015-07-20 13:41:40 -04:00
Craig Young dbf6e824f9 Adding support for AWID26 realtime demodulation as well as cloning and simulation from facility code and card number 2015-07-13 15:45:28 -04:00
Martin Holst Swende 1e1de234ac Merge pull request #121 from frederikmoellers/master
Add PACE replay functionality
2015-06-23 22:23:08 +02:00
Frederik Möllers 3bb07d96c8 Add PACE replay functionality
This function allows the user to specify APDUs which are sent to a card
supporting the PACE protocol. The response times are measured and
printed.
The code was pulled from the old Google Code repository (branch "epa")
and modified to fit into the new code base.
2015-06-22 14:20:13 +02:00
pwpiwi 132a02179c fixing iso 14443b (issue #103):
- fix: treat empty commands as error
- deleting dead code
- rename USB-Commands (ISO14443 -> iso14443B)
2015-06-18 09:49:22 +02:00
marshmellow42 9d87eb6650 MF ultralight code cleanup 2015-05-18 13:11:00 -04:00
marshmellow42 6ce0e5386a HF Search - refactoring cmds to work with it 2015-05-12 16:45:48 -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
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 872e3d4d6f NEW lf simpsk 2015-02-21 21:36:02 -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 7781a65656 Started work on 'hf iclass eload' - only client side so far, not yet supported in the device 2015-02-14 21:15:53 +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
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
Martin Holst Swende c8dd9b092e Some work on iclass dump and iclass list, now the dumping is a lot more stable. I think the comms should be measured and tuned a bit more, right now it kind of works thanks to retry-functionality, but the retries are probably not needed if we are a bit more careful about timing, so we don't send commands too fast for the tag to handle 2015-01-04 14:53:26 +01:00