Commit graph

143 commits

Author SHA1 Message Date
☃ 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
marshmellow42
161c40fb52
Merge branch 'master' into master 2018-09-18 22:12:11 -04:00
pwpiwi
6a5d4e17f4
rework iso14443b device functions including FPGA I/Q signal transfer (#669)
* rework iso14443b device functions
* hf_read_rx_xcorr.v: transfer i/q pair in one 16bit frame
* hi_read_tx.v: invert ssp_dout. When nothing is transferred (ssp_dout=0), this results in no modulation (carrier on)
* adjust arm sources accordingly
* iso14443b.c: switch off carrier after hf 14b sri512read and hf 14b srix4kread
* iso14443b.c: fix DMA circular buffer handling
2018-09-16 00:53:28 +02:00
grauerfuchs
fc7a78f2d1 Changes requested by @marshmellow42
Added CHANGELOG details for new lf hid commands
Restored basic ARM-side decoding of 26-bit and 35-bit cards
2018-09-13 21:05:11 -04:00
grauerfuchs
be59094de9 lf hid improvements - encoding and long tag simulation
**DEVICE FIRMWARE UPDATE**
The code changes needed to support long tag emulation required an update to the device firmware. As of this patch, devices running older firmware will not be able to read or emulate HID tags until the firmware is updated. Additionally, devices with the firmware from this update or newer will not properly read or encode HID tags with a prior version client.

The 'lf hid encode' command has been further refined, and is now entirely parameterized to support use of fields other than facility code and card number. The client help data has been updated to show the correct syntax.
2018-08-30 21:01:21 -04: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
marshmellow42
2896e490d9 update changelog
+fix a comment typo
+ move clear bigbuf after fpgadownloadandgo...
2018-02-14 15:41:39 -05:00
marshmellow42
779d9a0e90 reconfigure lf cmdread ...
to use lf config settings instead of it's own settings.  (now allows
full options of lf config...)

also it will now run `data samples` when the command completes making it
not necessary to run manually...

note: adjusted client wait message as it was confusing.
2018-02-10 17:30:32 -05:00
marshmellow42
61e96805ad add bitbang option to lf cmdread
by setting delay to 0 we can use cmd binary to bitbang the antenna.

note that the timing isn't perfect (especially on the off periods) but
is fairly close. worst i've seen it off is 8us on a large off period.
but i don't have the best test equipment...
2018-02-09 15:51:20 -05:00
marshmellow42
217cfb6b29 fix lf search bugs when no tag is on antenna
cotag read could enter endless loop, now cancels if the next bit doesn't
appear

em4x05 detection would loop due to a threshold never being met, now has
a dump out after 1000 samples tested.

fixed some indenting in hitag2 while i was reviewing that code for
potential endless loops...
2017-11-10 15:57:55 -05:00
marshmellow42
8c8317a5e9 fix lf sim fpga download overwrites sim buffer (#391)
* adjust LFSim to download lf fpga prior to setting emulation buffer to prevent buffer overwrite condition if you are coming from HF fpga.
* fix lf sim big buff overwrite with fpga download. Move fix to the buffer download cmd.
2017-09-11 19:18:32 +02:00
marshmellow42
1dae9811f2 Indala fixes - set accurate preamble and start of.. (#385)
.. data for both format types (64 bit and 224 bit)
also adjust 224 bit demod and clone to output and input in PSK2 instead
of PSK1 as this appears to be most common for this format.
2017-08-27 12:10:28 +02:00
marshmellow42
f2081c4356 adjust lf simulation - fix one bug + attempt... (#369)
... to speed up the loops waiting for carrier signal to go high or low
by only checking for a halt (button press or usbpol) every 1000th loop
iteration.
some users were experiencing modulating reactions to be too slow.
2017-08-08 21:08:59 +02:00
marshmellow42
1c70664ae7 finish FSK graph index changes 2017-04-15 16:18:54 -04:00
marshmellow42
b9957414a5 lf read adjustments
add parameter for # bits to read
auto get samples after lf read/snoop (don't need to do a `data samples`
anymore)
add safe function to get DemodBuffer
add some lf demod comments and apply new lf_read function instead of
read then get samples.
fixed output bug in lf t55xx config print
fixed small bug in lf t55xx detect during ST check
2017-04-07 17:28:12 -04:00
marshmellow42
bed24f53c2 no longer need doT55x7Acquisition... 2017-04-05 21:37:04 -04:00
marshmellow42
2229ee897e adjust t55x7 testmode write timing 2017-04-05 21:19:48 -04:00
marshmellow42
bf85d22f96 fix bug in st detect +
adjust nrz t55xx detection to reduce false positives on weak antennas
adjust t55xx read wait to get past initial startup wave.
2017-04-04 17:22:21 -04:00
marshmellow42
b97311b1bd lf improvements
fix noralsy demod bug (st should be true)
fix sprint_bin_break bug (didn't print last bit)
add a function to save/restore demodbuffer
remove redundant countFC call in PSKDemod
clean up pskclockdetect functions
fix indala26decode bug (end of data sometimes not correct)
improve PSK detection / demodulation
improve NRZ detection
improve t55xx commands & fix a few bugs
add t55xx page1 detection - added it to lf search
added experimental t55xx testmode write
2017-04-04 11:52:10 -04:00
marshmellow42
62a38cc883 adjust em4x05/em4x69 command timings to...
better conform to datasheet.
2017-02-28 13:18:52 -05:00
marshmellow42
40c6a02bc9 Add a retry loop to hf mf dump
helps get the data dumped even if positioning isn't 100% perfect.

also switched em4x05 commands to WaitUS instead of SpinDelayUs, per
@pwpiwi 's suggestion.
2017-02-28 11:09:42 -05:00
marshmellow42
33a1fe9636 small text adjustments plus...
small improvement to fsk clock detect + fixed a bug where it would
default to rf/16 when it couldn't find a valid one...
2017-02-22 10:41:40 -05:00
marshmellow42
34ff898553 fix false positive psk demod with fsk wave
also break out new find start of modulation routine.
2017-02-21 23:00:43 -05:00
marshmellow42
a37228c8c2 shorten em4x05 capture samples
add cap option for 4469
add sample size option for  DoAcquisition so i can limit how many
samples i want to collect.
use with DoPartialAcquisition
2017-02-20 17:39:39 -05:00
marshmellow42
893534d3b5 speed up the em4x05 cmds by only getting 6k...
samples back
2017-02-20 15:06:22 -05:00
marshmellow42
fa1e00cfbb add em4x05 info command
plus some minor adjustments
and added a quick em4x05 test:
bool EM4x05Block0Test(uint32_t *wordData)
if successful very likely the tag is an em4x05 or compatible...
2017-02-20 09:50:00 -05:00
marshmellow42
6980d66b05 add psk to em4x05 reads and tweak psk demod 2017-02-17 14:40:40 -05:00
marshmellow42
c85858f524 minor fixes for FSK demod
works better with EM4x03 and t55x7 tags (in theory)...
2017-02-17 12:59:35 -05:00
marshmellow42
e39a92bb1d em4x05 getting better
got the read/dump cmds working pretty well
some tweaking still left to do.
2017-02-17 01:33:27 -05:00
marshmellow42
7666f4608e update em4x05/em4x69 cmds
@iceman1001 s updates + some of my own.
still more to do:
-auto demod responses
-figure out config block
-figure out block 0 info / serial # in block 1
-figure out block 3 protection data
-add dump all blocks cmd
2017-02-12 23:59:44 -05: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
marshmellow42
89696b8b24 fixed lf antenna left on bug && some iclass ...
output cleanup by @iceman1001
2016-12-19 09:45:23 -05:00
marshmellow42
29ada8fc08 add ST to ask/manchester sim, finish presco...
...as it is currently understood - need to add base 12 printed ID to
demod output...
add Q5 option to pyramid
fix missing include I mistakenly removed in cmdlf
2016-03-07 01:01:40 -05:00
marshmellow42
39611e3d68 fix ask/Biphase sim bug 2016-02-29 18:05:47 -05:00
marshmellow42
72c5877a74 some minor lf fixes from @iceman1001 2016-02-21 17:05:53 -05:00
marshmellow42
29b757391a remove errant 'void'
have to watch my copy and paste...
2016-02-20 10:22:45 -05:00
marshmellow42
3cec706139 move the clear buffer outside of potentially time..
... sensitive routines
see http://www.proxmark.org/forum/viewtopic.php?id=2820
2016-02-20 10:07:44 -05:00
marshmellow42
506672c48b icemans lf fixes & adjustments + lf t55xx bruteforce
Fix small fskdemod clock bug
2015-12-02 17:27:12 -05: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
6fe5c94bda lf demod cleanup nrz clock detect fixes
slight adjustment to lf t55xx sampling code to start at the same spot
more consistently
reduce indala detection false positives
lf t55xx commands heavily tested and seem to be stable and reliable on
most modulations/bitrates (excluding Sequence Terminator configured
cards).
2015-11-18 00:10:11 -05:00
marshmellow42
db8296025f lf t55xx and some lf demod fixes/adjustments
finally think I like the lf t55xx detect and read cmds.  pretty reliable
now.
2015-11-16 18:49:20 -05:00
marshmellow42
76346455d2 minor lf updates/cleanup 2015-11-03 20:18:16 -05:00
marshmellow42
9f669cb26f minor cleanups 2015-10-31 23:12:42 -04: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
marshmellow42
3606ac0a2b refactor lfops t55xx functions
share t55xx configuration register definitions with client for later use
(warning - compiled but not fully tested yet)
2015-10-24 09:54:04 -04:00
marshmellow42
0c8200f11c text cleanup t55xx cmds 2015-10-23 13:05:40 -04: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
8e99ec25ed add wake option to t55xx read command 2015-10-17 15:01:26 -04:00
marshmellow42
21a615cb3b begin update lf commands with help text and
cmd structure.
update changelog for recent changes
2015-10-17 10:48:54 -04:00
marshmellow42
7cfc777b0e lf t55xx code cleanup +
@iceman1001 s cleanup of some t55xx read code, plus some timing tests to
improve lf t5 detect/read...
small typo in pcf 16 address bytes instead of 4...
add option for verbose or not on bigbuf clear cmd.
2015-10-15 14:53:49 -04:00