Commit graph

576 commits

Author SHA1 Message Date
Iceman
6100040454 Update hfsnoop.c (#338)
fix:  missed a include for usb_poll_validate_length
2017-06-26 08:37:32 +02:00
pwpiwi
893d0fcc49 Merge pull request #337 from Proxmark/iceman1001-patch-4
Iceman1001 patch 4
2017-06-26 07:50:57 +02:00
Iceman
d8e61a3004 Update aes.c (#336)
FIX:  coverity scan - improper use of sizeof
2017-06-26 00:52:09 +02:00
Iceman
06ed826c01 Update hfsnoop.c
chg:  enabled snooping function to break on receiving a usbpackage.
2017-06-25 19:39:45 +02:00
Iceman
e7fd9f5ff4 Update BigBuf.h
added the header definition
2017-06-25 19:35:59 +02:00
Iceman
f4329b1732 Update BigBuf.c
chg:  change from defines to booleans.
add: bigbuf_clear_em(),  empties the reserved emulator part only
2017-06-25 19:35:03 +02:00
Iceman
e702439e00 Update fpgaloader.c
CHG:  just making sure the bigbuff is cleared after the zlib played.  So we don't get the random noice that ppl are posting thinking they got a signal.
2017-06-25 19:30:07 +02:00
marshmellow42
34e2af02a4 bug fix for hf iclass reader and iclass detection
memory locations in code are now accurate and the CC output is not
corrupted by the config's crc.

also the looping and flags for what to read are now correctly
implemented in the code.
2017-06-23 13:50:25 -04:00
marshmellow42
3d542a3dfa coverity scan bug fixes
mfu keyNo buffer overflow
mf reader attack key count reduced to not overrun c.d.asBytes buffer.
2017-06-06 12:12:18 -04:00
Iceman
c7b2751136 Merge pull request #297 from pwpiwi/hardnested
Implement hf mf hardnested
2017-06-01 14:34:43 +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
ikarus
c87c452120 Fix increment on bool variable (#294) 2017-05-26 11:26:27 +02:00
pwpiwi
b535053a77 fix hf 15 commands (#293) 2017-05-26 07:10:30 +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
pwpiwi
de77d4acde add: iceman1001's idea to reuse @pwpiwi's fast select without anticollision to speedup hf mf chk
(see http://www.proxmark.org/forum/viewtopic.php?id=2920)
2017-03-27 10:29:44 +02:00
Iceman
1ee7925609 Merge pull request #249 from pwpiwi/parity
Refactor parity functions
2017-03-26 08:28:43 +02:00
pwpiwi
1f065e1dad Refactor parity functions
- get rid of __asm function in crapto1.h, use gcc builtin function instead
- make parity functions available in common directory
2017-03-25 22:03:17 +01:00
marshmellow42
28598e80c0 hitag sim fix
from
e1778858dd
and http://www.proxmark.org/forum/viewtopic.php?pid=26733#p26733
sim mode should not have the reader field on.
2017-03-25 07:49:53 -04:00
pwpiwi
33443e7caa Code cleanup: deduplicate crapto1 library (#228)
- merge the existing 4 crapto1 sources into common/crapto1
2017-03-09 11:12:50 +01:00
pwpiwi
b8e461ff61 Remove local armsrc/stdint.h and fix some other #includes 2017-03-06 19:22:35 +01: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
pwpiwi
4c16ae80f0 Code cleanup:
- correctly using stdtypes.h printf and scanf format string macros (PRIx64 et al)
- coverity fixes to client/cmdhfmf.c
- fix linker warning re missing entry point when linking fullimage.elf
2017-02-23 18:29:03 +01: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
Michael Farrell
5b5489baf4 hf mf sim: Multiple fixes from review of PR #209.
- Don't increment the nonce when random mode is disabled (this breaks the
  standard attack).

- Don't attempt the standard attack when random mode is enabled (there's no
  point as it won't work, per comments from @pwpiwi).

- Attempt the moebius attack if the standard attack fails.
2017-01-26 20:30:13 +11: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
89696b8b24 fixed lf antenna left on bug && some iclass ...
output cleanup by @iceman1001
2016-12-19 09:45:23 -05:00
marshmellow42
921e63992c a few bug fixes with adding hitag detection to...
`lf search`
2016-12-16 14:04:39 -05:00
marshmellow42
0b91ce03e5 Merge remote-tracking branch 'upstream/master' 2016-11-29 15:09:27 -05:00
marshmellow42
671ff89fcb fix iclass write
thanks to prof_abrasive && go_tus
2016-11-29 14:59:14 -05:00
ikarus
2943527472 Fixed all "misleading-indentation" warnings (fixes #187). 2016-09-26 21:15:49 +02: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
91f4d53123 couple bug fixes - clean up 2016-06-28 21:02:26 -04:00
marshmellow42
76ef5273d8 hf mf sim code cleanup - update changelog 2016-06-27 00:09:40 -04:00
marshmellow42
73ab92d14c mf 1k sim reader attack cleanup
add abort options - keyboard & button press.
2016-06-25 00:53:53 -04:00