Commit graph

240 commits

Author SHA1 Message Date
iceman1001 657061f8d5 fix: use defines.. 2019-12-26 23:41:30 +01:00
iceman1001 a6a48f0e6d Chg 'hf 14a info' - static/fixed nonce detection 2019-12-23 15:23:04 +01:00
iceman1001 bd70689de2 hf mf nested: break bad loop if timeout (@uzlonewolf) 2019-12-14 12:45:07 +01:00
iceman1001 182f239d21 make style 2019-11-08 12:00:21 +01:00
iceman1001 5cca8616cb Add: 'hf mfu otptear' - draft of @fukmar implementation for a tear-off attack against OTP block on Mifare Ultralight based card. 2019-11-08 10:28:29 +01:00
Philippe Teuwen 39fd6b1910 coverity: separate crypto1 fcts ARM<>host into create/destroy and init/deinit 2019-10-18 16:58:24 +02:00
Philippe Teuwen 395d0f9ebf make style 2019-10-13 00:48:26 +02:00
iceman1001 b8776b593e fix: sneaky bug in magic detection where bigbuf wasnt emptied before next run 2019-10-04 14:21:04 +02:00
iceman1001 5d3eb444fb chg 'hf mf nested' - uses NG. chg 'hw tune' - now also prints the 'lf config q' divisor voltage. 2019-10-03 16:15:47 +02:00
Philippe Teuwen 11dcc4787d mfc magic: add some defines 2019-09-21 23:50:32 +02:00
Philippe Teuwen 6422cc6d13 Fix mfc gen1b/gen1b detection 2019-09-21 23:25:21 +02:00
Ludovic Rousseau f961c1c551 Fix typos
Thanks to Debian lintian for the reports:
I: proxmark3: spelling-error-in-binary usr/share/proxmark3/firmware/fullimage.elf dont don't
I: proxmark3: spelling-error-in-binary usr/share/proxmark3/firmware/fullimage.elf succesful successful
I: proxmark3: spelling-error-in-binary usr/share/proxmark3/firmware/fullimage.elf Uknown Unknown
I: proxmark3: spelling-error-in-binary usr/share/proxmark3/firmware/fullimage.elf requestes requests
I: proxmark3: spelling-error-in-binary usr/share/proxmark3/firmware/fullimage.elf unkown unknown
I: proxmark3: spelling-error-in-binary usr/share/proxmark3/firmware/fullimage.elf ambigous ambiguous
2019-09-14 17:53:24 +02:00
Ludovic Rousseau a1852eaa4b Fix typos
Thanks to Debian lintian for the reports:
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 formated formatted
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 succesfully successfully
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 Skiped Skipped
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 standart standard
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 supress suppress
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 successfull successful
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 Succeded Succeeded
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 Overriden Overridden
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 aquire acquire
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 occured occurred
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 delimeter delimiter
2019-09-14 17:44:58 +02:00
iceman1001 ffa3e2a0f8 style 2019-09-13 16:25:33 +02:00
iceman1001 74cd1bee35 minor 2019-09-12 17:39:12 +02:00
Philippe Teuwen 2022df1068 make style 2019-08-30 10:45:52 +02:00
iceman1001 501182ca06 chg: ecload NG, fchk use ecfill trick 2019-08-28 21:23:31 +02:00
Philippe Teuwen 16a7cfd7b2 make style (excepted cmdhficlass...) 2019-08-26 22:28:39 +02:00
Iceman fea5d88278 add: detect unfused / write once magic tags, from https://github.com/nfc-tools/libnfc/pull/554 2019-08-20 14:53:52 +02:00
Philippe Teuwen d19754567d summer restructuring:
* .h include only the strict minimum for their own parsing
  * this forces all files to include explicitment their needs and not count on far streched dependencies
  * this helps Makefile to rebuild only the minimum
  * according to this rule, most standalone .h are now gone
  * big app.h is gone
  * remove seldom __cplusplus, if c++ happens, everything will have to be done properly anyway
* all unrequired include were removed
* split common/ into common/ (client+arm) and common_arm/ (os+bootloader)
  * bring zlib to common/
  * bring stuff not really/not yet used in common back to armsrc/ or client/
  * bring liblua into client/
  * bring uart into client/
  * move some portions of code around (dbprint, protocols,...)
* rename unused files into *_disabled.[ch] to make it explicit
* rename soft Uarts between 14a, 14b and iclass, so a standalone could use several without clash
* remove PrintAndLogDevice
* move deprecated-hid-flasher from client to tools
* Makefiles
  * treat deps in armsrc/ as in client/
  * client: stop on warning (-Werror), same as for armsrc/

Tested on:

* all standalone modes
* Linux
2019-08-11 21:42:01 +02:00
Philippe Teuwen a0a232a985 rename few CMD_* to get some less diversity 2019-08-03 19:48:02 +02:00
Philippe Teuwen 733a7d836d more ARRAYLEN 2019-08-01 00:14:09 +02:00
merlokk 20d13d5509 added PACKED attribute for structures and reorganize include folder 2019-07-16 14:50:38 +03:00
Philippe Teuwen 1ebfa897c8 remove some cppcheck warnings 2019-06-12 06:41:23 -07:00
Philippe Teuwen a55e597e36 make style 2019-06-07 21:40:33 +02:00
Philippe Teuwen 732bc766f9 Reduce some var scopes 2019-06-07 18:41:39 +02:00
Philippe Teuwen 4761ea13f7 MF_DBGLEVEL => DBGLEVEL (pm3 side) 2019-06-06 10:05:09 +02:00
Philippe Teuwen 3b12ba2e93 replace usb_poll_validate_length() by data_available() that supports USART too 2019-06-03 00:01:08 +02:00
iceman1001 cee2fc7a34 hf mf rdbl - uses NG 2019-05-28 13:20:56 -04:00
iceman1001 53f2058c7a chf: hf mf eget\nhf mf eset\nhf mf eclr - uses NG 2019-05-27 07:46:27 -04:00
iceman1001 81053d8c42 fix: standalone mode mattyrun now compiles 2019-05-23 03:03:24 -04:00
iceman1001 9448755240 chg: not fatal 2019-05-22 05:58:48 -04:00
iceman1001 bfe2cff383 chg: hf mf nack - now uses NG 2019-05-15 07:47:46 -04:00
iceman1001 50c59fb6b2 chg: cident - uses NG 2019-05-15 07:03:19 -04:00
iceman1001 65ff4f0e92 chg: hf mf setmod - uses NG 2019-05-15 06:52:22 -04:00
Philippe Teuwen 1e345b1356 remove unused arg from MifareAcquireNonces 2019-05-13 13:31:24 +02:00
Philippe Teuwen 09afadc965 Remove unused args in some MF cmds 2019-05-13 12:49:41 +02:00
Philippe Teuwen 1edf4e1ef2 remove unused args in MifareEMemClr 2019-05-13 12:30:27 +02:00
Philippe Teuwen 20f7b2f3ec Remove support for old in MifareChkKeys, not needed anymore 2019-05-13 12:25:11 +02:00
Philippe Teuwen f217b47cbd style 2019-05-02 00:18:20 +02:00
Philippe Teuwen 13b2e6eed7 Fix hf mf chk 2019-05-01 12:19:51 +02:00
Philippe Teuwen 27f7057961 Rename few USB -> PM3 to avoid misleading interpretations 2019-04-30 21:10:11 +02:00
iceman1001 03d6454d95 chg: 'script run mfkeys' : uses NG
chg: 'hf mf chk' : uses old/mix
2019-04-29 12:12:14 +02:00
iceman1001 7454a4dcf2 chg: 'hf mf chkkeys' - now uses NG 2019-04-29 02:07:40 +02:00
Philippe Teuwen 482db05741 Rename few stuff for consistency 2019-04-18 12:49:51 +02:00
iceman1001 6c1b8f809e chg: update armside debug to fit with offical repo. 2019-04-10 08:42:00 +02:00
iceman1001 4d99bf7fab unused 2019-04-09 20:39:38 +02:00
Philippe Teuwen 8c359921e9 keybytes for MifareUC_Auth 2019-04-07 12:30:49 +02:00
Philippe Teuwen ebdfba033d arg names 2019-04-06 20:35:58 +02:00
Philippe Teuwen db4aa08b78 make style 2019-03-28 14:19:41 +01:00
iceman1001 ca9061bd32 changed byte_t -> uint8_t 2019-03-21 15:19:18 +01:00
iceman1001 ffdd91cab6 add: 'hf 14a info' - uid changeable tests, finds two kinds of Gen2 / CUID. 4byte / 7byte but there other Gen2 cards which will not be detected by this. 2019-03-21 12:53:05 +01:00
Philippe Teuwen 92d94390ac MifareChkKeys_fast: fix always false cond 2019-03-13 00:30:11 +01:00
Philippe Teuwen 1b2601a48a Add missing EOF LF 2019-03-12 00:12:26 +01:00
Philippe Teuwen 961d929f4d changing {} style to match majority of previous style 2019-03-10 11:20:22 +01:00
Philippe Teuwen 0373696662 make style 2019-03-10 00:00:59 +01:00
Philippe Teuwen 8a7c6825b5 armsrc: fix mix of spaces & tabs 2019-03-09 20:34:41 +01:00
Philippe Teuwen 60f292b18e remove spurious spaces & tabs at end of lines 2019-03-09 08:59:13 +01:00
Philippe Teuwen edc19f202a Convert the few files with still Windows carriage returns 2019-03-09 08:49:41 +01:00
iceman1001 4ea05fc026 Fix: 'hf mf fchk' - now reports back correct found keys. 2019-02-17 15:56:45 +01:00
iceman1001 6e281a08ed CHG: 'hf mf fchk' - speed improvments by tweaking implementation.
CHG: 'hf mf fchk' - can use dictionary from flashmem if one is uploaded. (faster)
2019-01-02 11:52:13 +01:00
Chris 98e24013cf chg: 'hf mf chk' - since the function ends with droping the field, lets just make sure the field is off to start with. 2018-11-05 22:34:46 +01:00
iceman1001 836d7370c3 spaces 2018-03-31 10:36:39 +02:00
iceman1001 3438d016c7 idea based on @jamchamb PR in official pm3 https://github.com/Proxmark/proxmark3/pull/584 2018-03-15 20:06:12 +01:00
iceman1001 13bb29a386 fix: 'hf mf fchk' - releasing memory when finished is a good thing 2018-02-05 22:59:49 +01:00
iceman1001 52d69ed4ee CHG: refactor CRC16 algos. This is a big change, most likely some parts broke, hard to test it all. 2018-02-01 15:19:47 +01:00
iceman1001 b39332e938 REM: 'hf 15 debug' removed command, unified with mf_debuglevel instead. The idea is to have ONE debug flag on deviceside. 2018-01-29 15:58:00 +01:00
iceman1001 466bbe1733 fix: 'hf mf hardnested' - too fast timeouts. https://github.com/Proxmark/proxmark3/issues/518 2018-01-15 14:22:46 +01:00
iceman1001 439c875905 chg: 'hf mf fchk' - need to reset the block number after a scan 2017-12-11 22:54:14 +01:00
iceman1001 bf74302679 chg: 'hf mf fchk' - reversing assumption. This really helped :) 2017-12-11 22:49:44 +01:00
iceman1001 033bc12933 chg: 'hf mf fchk' - adapttions to depth first exits 2017-12-11 22:33:50 +01:00
iceman1001 dd024b5300 chg: 'hf mf fchk' - depth first search 2017-12-11 21:43:29 +01:00
iceman1001 da57e74140 CHG: 'hf mf fchk' - two strategys. depth first for sector 1, AB. and width first with all sectors.
first run strategy 1. then 2.
2017-12-11 01:44:55 +01:00
iceman1001 26353cfd78 chg: 'hf mf fchk' - testing new strategy, Depth first for sector0. 2017-12-10 23:59:19 +01:00
iceman1001 bf2b2afeeb cleaning up.
chg:  swapped random gen for mifare classic auth to known weak prng.
2017-12-10 23:09:53 +01:00
iceman1001 cb92ed9ec0 fix 2017-12-10 20:09:16 +01:00
iceman1001 0e96c72476 fix: wupe timing (@pwpiwi) 7c7327e7c8 2017-12-10 20:02:51 +01:00
iceman1001 dfdf4e701f chg: testing to reinstate the auth-timeout 2017-12-10 11:18:44 +01:00
iceman1001 19fe01128c chg: 'hf mf chk' - reinstate the debuglevel 2017-12-10 11:11:23 +01:00
iceman1001 0e9f234f11 CHG: lessend the default debug level to MF_DBG_ERROR. 2017-12-09 08:27:56 +01:00
iceman1001 05991cdffb sloppy 2017-10-30 15:12:03 +01:00
iceman1001 deeb56f09c fix: 'hf mf hardnested' : without sending dummy answer, the can't select tag comes.. 2017-10-30 15:02:44 +01:00
iceman1001 6e46822c4c CHG: mcIdent now turn on/off readerfield. 2017-10-30 12:05:14 +01:00
iceman1001 71a500d824 CHG: 'hf mf fchk' - no need to send dummy coomand to trigger timeout.
CHG: 'hf mf fchk' - added some debugstatements.  These will become optional later.
CHG: 'hf mf fchk' - lower re-try from 10 to 5
2017-10-12 15:17:10 +02:00
iceman1001 2ca0ea8cb4 ADD: 'hf mf fastchk' - new command, improved check keys functionality. It uses a bunch of techniques to get a speedup.
Using a dictionary file with 421keys,

Current implementation of checkkeys takes 300 sec.
This implementation of checkkeys takes 250 sec.

I implemented it as a separate command so it will be easier to compare between the old and new checkkeys.
Its also doing much on deviceside, which is a step to much funnier standalone modes  :))
2017-10-05 16:00:56 +02:00
iceman1001 a4b4a1a9a2 FIX: iso-14443a RATS optional (piwi) 2017-10-01 22:06:06 +02:00
iceman1001 94f70caa7a when you need to add too much changes at the same time...
fix: 'hf mf hardnested'  test cases doesn't need to verify key.
add: 'hf mf ' - collect nonces from classic tag.
chg: switch_off on armside,  a more unified way,  so we don't forget to turn of the antenna ...
chg:  renamed 'hf iclass snoop'  into 'hf iclass sniff'   in an attempt to make all sniff/snoop commands only SNIFF

chg: 'standalone' ->  starting the work of moving all standalone mods into a plugin kind of style, in its own folder.
2017-08-26 12:57:18 +02:00
iceman1001 46a0ec7130 CHG: removed old TRUE/FALSE defines... some left still.. 2017-07-27 09:28:43 +02:00
iceman1001 cdc0f15104 FIX: playing with some delays. 2017-07-11 17:40:29 +02:00
iceman1001 ce56dd32e3 FIX: 'hf mf c*' works both with 1a/1b generation of tags. 2017-07-07 12:34:20 +02:00
angelsl ece631fd06 Add Mifare Classic EV1 set load modulation command 2017-03-09 21:37:16 +08:00
iceman1001 57e1e31dce chg: unused .. but not for long 2017-03-06 19:15:01 +01:00
iceman1001 57778a4630 CHG: renamed struct sector -> sector_t
CHG: defines on armside
CHG: #define WIN32 ->  _WIN32
CHG: started to enhance "hf mf chkkeys"
REM: removed some duplicates etc in default keys.
2017-03-06 19:11:08 +01:00
iceman1001 f24edfec54 CHG: hf 14a read - started to add a Magic tag gen2 detection. SKipping it for now. Can't decide to put in on deviceside or in client.
FIX:  `lf read` - ophs..  it works again.
ADD: `lf em 4x05--`  - added a chipset definition
CHG: better kali fix - from @pwpivi
2017-02-28 08:16:02 +01:00
iceman1001 8db18d2f15 ADD: hf 14a read - now can detect the newer magic generation 1b. In output 1A (old version, where all hf mf c* commands works) 1B is the newer. 2017-02-27 19:18:38 +01:00
iceman1001 3c345a41b2 chg: moved to header file 2017-01-21 10:35:59 +01:00
iceman1001 77f3f9ff5c CHG: "hf mf hardnested" device side should empty bigbuff? 2016-11-16 17:44:08 +01:00
iceman1001 0b53530a10 CHG: "hf mf hardnested" disabled the tracelogging on deviceside during nonce acquiring. 2016-11-07 22:42:57 +01:00
iceman1001 d209443322 CHG: 'HF MF C*' (chinese backdoor commands) According to douniwan5788 some magic/clone tags answers to the halt cmd and some not. I think I captured his ideas.
ref: 13b71e58fd
2016-10-28 20:43:07 +02:00
iceman1001 f885043422 FIX: "hf 14a read" / "hf mf *" / "hf mfdes info" and failure when calling these commands serveral times in row.
For long transactions the sspclock compare with >1 instead of >=1 ..   Now the timer resets properly.
CHG: use some #define constants for iso-commands.
2016-09-23 21:28:07 +02:00