Commit graph

161 commits

Author SHA1 Message Date
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 151a33c027
Add smartcard protocol T=0 (RRG repository PRs 71,72,74,75 by @merlokk) (#757) 2019-01-17 07:50:01 +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
pwpiwi 8d7d7b6187
Emv commands work with smartcard interface (RfidResearchGroup PR67 by @Merlokk) (#743)
* replace 'hf emv' commands by 'emv' commands
* Enable smartcard commands by default (-DWITH_SMARTCARD)
* update i2c.c from RfidResearchGroup repository
* update smartcard.c from RfidResearchGroup repository
2019-01-05 09:47:12 +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
pwpiwi 050aa18b13
RDV40 compatibility fixes (#678)
* detect and use RDV40 higher voltage ADC channel for hw tune, hf tune, hw detectreader
* fix mode switching in hw detectreader
* detect Smartcard Slot in hw version
* i2c changes from https://github.com/RfidResearchGroup/proxmark3
* some formatting in proxmark3.h
2018-09-21 08:27:35 +02: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
AntiCat da05bc6eca Legic: rewrite reader to use xcorrelation and precise timing (#654)
* Legic: rewrite reader to use xcorrelation and precise timing
 - Even tough Legic tags transmit just AM, receiving using
   xcorrelation results in a significantly better signal
   quality.
 - Switching from bit bang to a hardware based ssc frees
   up CPU time for other tasks e.g. prng and demodulation
 - Having all times based on a fixed ts, results in perfect
   rwd-tag synchronization without magic +/- calculations.
* hi_read_tx: remove jerry-riged hysteresis based receiver
- This feature got obsolete by a x-correlation based receiver.
* Legic: adjusted sampling to new ssp clock speed
- Sampling is 4 times faster and pipeline daly reduced to 1/4.
 The new code samples each bit earyler to account for the
 shorter pipeline. That introduced bit errors by leeking the
 next bit into the current one.
* Legic: average 8 samples for better noise rejection.
* Update CHANGELOG.md
2018-08-20 22:29:34 +02:00
pwpiwi 44964fd181
Code cleanup (#616)
* coverity fixes (including a real bug in cmdhftopaz.c)
* Typo fix
* replace TRUE/FALSE by stdbool true/false
2018-06-13 08:13:20 +02:00
merlokk eb6e8de45d moved includes, added clear_trace flag (it was there...) and fixed multiapdu iso14443 stream 2017-11-03 13:42:38 +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
pwpiwi c04a4b60ce Don't do iso14443-4 select for mifare emulations on processor cards (IDPrime, SmartMX, ...) 2017-10-01 17:52:10 +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
etmatrix 4efdfbe638 Fixes 2 bugs in mifare simulate (#380)
- Check button press when there is NOFIELD, so we can exit also without FIELD
- struct nonces_t is moved to include/mifare.h so client and arm has the same definition
2017-08-17 16:59:48 +02:00
Henrik Johansson 52244230d3 hitag2 write (#310)
Usage is similar to hitagS write: lf hitag write 24 KEY pagenumber 32bitvalue
* added changlelog entry
2017-07-05 20:16:54 +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
pwpiwi b8e461ff61 Remove local armsrc/stdint.h and fix some other #includes 2017-03-06 19:22:35 +01: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
marshmellow42 0b91ce03e5 Merge remote-tracking branch 'upstream/master' 2016-11-29 15:09:27 -05: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 f86d6b557a attempt hitag2 uid read for lf search 2016-08-04 13:51:37 -04: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
marshmellow42 c0d32c3186 Merge remote-tracking branch 'upstream/master' 2016-06-05 22:20:36 -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
Ondrej Mikle 39d56ec88b Fix hitagS sources to compile on gcc 4.9.3 2016-04-23 10:01:19 +02:00
marshmellow42 cf194819cc simplify some code, add comments
ABS simplification from Iceman1001
2016-03-19 00:09:58 -04: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
pwpiwi b2fe0e77c5 Merge branch 'topaz'
Conflicts:
	CHANGELOG.md
	client/cmdhf.c
2015-11-03 21:06:59 +01: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
pwpiwi d9cc4e1ae2 Merge branch 'master' into topaz. Update Changelog. 2015-10-27 20:57:16 +01: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
pwpiwi 8e21541e77 Merge branch 'master' into topaz 2015-08-25 07:53:00 +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
pwpiwi db2b81ba11 Merge branch 'master' into topaz
Conflicts:
	client/Makefile
	client/cmdhf.c
	client/cmdhf14a.c
2015-07-01 08:17:00 +02:00
pwpiwi 2da2e92837 Merge pull request #109 from pwpiwi/image_shrink
Compress FPGA configs and initialized data
2015-06-24 07:47:45 +02:00