Commit graph

348 commits

Author SHA1 Message Date
iceman1001 a746699f5f chg: reading / writing flashmem works better now. 2018-04-19 00:27:44 +02:00
iceman1001 42569a6f13 chg: adjusting for DEFINE usages. 2018-04-18 16:17:49 +02:00
iceman1001 0492df266c chg: only print if compiled with smartcard flag 2018-04-18 12:41:03 +02:00
iceman1001 192aa9abd7 CHG: renamed iso7816 files
ADD: smartcard functionality  (big thanks to Chris Nocker!)
2018-04-08 10:51:19 +02:00
iceman1001 3f5aab8f05 chg: preparing for iso7816 module statuses 2018-04-03 11:45:20 +02:00
iceman1001 3d956e686b chg: flashmem adaptions 2018-03-31 10:35:40 +02:00
iceman1001 5690c0f5bc chg: 'hw detectreader' - kind of useless previous change, measuring from two different readers, the max was 18.8v and 20.1v Not even close to 36v the standard ADC is configured 2018-03-15 10:48:57 +01:00
iceman1001 c3ba3f306f chg: 'hw detectreader' - RDV40 adjustment 2018-03-15 09:25:22 +01:00
iceman1001 62814fd352 fix: 'hw detectreader' - adapted to PM3 RDV40 for HF measures. 2018-03-15 09:20:21 +01:00
iceman1001 7e0455aa0c ADD: 'MattyRun' standalone - added the MattyRun standalone mode. *untested compilation* 2018-03-12 12:27:43 +01:00
iceman1001 802994d30a add: 'hf 14 antifuzz' - the outline for the new functionality which fuzzes the anticollision phase ISO 14443a. 2018-02-28 13:21:47 +01:00
iceman1001 7b9ba2de8e chg: standalone modes - adapted for HF_COLIN aswell, for easier compilation 2018-02-25 16:04:24 +01:00
iceman1001 35bdf6a58d FIX: Accourding to errata, a SPI reset should be executed twice. 2018-02-17 17:35:54 +01:00
iceman1001 d0da96bf8a remove warning "missleading-indentation"
flashmen spi 9bits?
2018-02-13 16:13:37 +01:00
iceman1001 1709c1ce1a chg: flash_mem - hooked up client - device comms 2018-02-13 15:36:20 +01:00
iceman1001 85b2533435 chg: 'hw tune' device side should be unsigned and only 1024 (10b ADC) 2018-02-13 11:40:05 +01:00
iceman1001 5adb9af78f chg: 'hw tune' - compensating the 3% error marginal. 2018-02-09 00:25:45 +01:00
iceman1001 094b5db9c5 fix: configure mux at startup 2018-02-07 17:21:51 +01:00
iceman1001 a2ac368fdb fix.. wrong switch 2018-02-07 13:14:04 +01:00
iceman1001 75d04307a1 chg: adapting some HF voltage readings. 2018-02-07 13:11:10 +01:00
iceman1001 3d2fd2e3a1 FIX: start up,MUXSEL_HIPKD(PA19),MUXSEL_LOPKD(PA20) are floating state. Should adapt FPGA image aswell. 2018-02-07 12:08:50 +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 c04ac4f9ac ADD: 'hf felica reader' - added pm3 as FeliCa reader
ADD:  raw commands -  added the basis for sending RAW commands to FeliCa.
CHG: CRC16 rework,  uses table based implementation.  This will change more functions as I go on.
2018-01-29 13:42:02 +01:00
iceman1001 be82f9f018 DEL: 'hf mf sniff' - since it is very similar to 'hf 14a sniff' , I removed this command. The desired functionality will become a new 'hf list mf' option in the future. 2018-01-18 14:11:22 +01:00
iceman1001 5ea8f73547 FIX: cmd_send has wrong varible definitions, leading to loss of values. 2018-01-11 21:47:27 +01:00
iceman1001 eed271af5c CHG: 'hw tune' tuning antenna now can handle bigger antennas than 65v, with shifting 9, it can measure up to 130v.
CHG: 'hw tune'  -  command output and layout changes.  I think this is easier to read.
2018-01-09 14:53:17 +01:00
iceman1001 b578e55d17 chg: 'hf 14b snoop' renamed 'hf 14b sniff'...
In order to use one command for SNIFFING..   All snoop names will be renamed.
2018-01-06 21:12:28 +01:00
iceman1001 6e93ed80a3 chg: 'hf iclass sniff' - still problems with the dmabuffer 2018-01-02 19:10:55 +01:00
iceman1001 5eafdbf872 ADD: 'hf iclass check' - increased speed in check keys with new algo.
ADD: 'hf iclass' - trying to add the timeout-limits for commands in order to get a more stable iclass communication
2017-12-21 10:13:40 +01:00
iceman1001 e02e145fae draft for a Mifare classic NACK bug detection.
the idea is to have a statistically solid conclusion if tag does or does not have the NACK bug.

-in short, ref  https://github.com/iceman1001/proxmark3/issues/141
NACK bug;  when a tag responds with a NACK to a 8 byte nonce exchange during authentication when the bytes are wrong but the parity bits are correct.

This is a strong oracle which is used in the darkside attack.
2017-12-04 19:36:26 +01:00
iceman1001 5614066a4e fix: no more powered antenna when swapping fpga images. 2017-11-30 10:28:59 +01:00
iceman1001 430c6b4b79 It seems a call to FpgaDownloadAndGo() powers the antenna.
Solution:  Turn off antenna afterwards
2017-11-30 08:27:31 +01:00
iceman1001 c5ee621160 rem: EMV on armside is cleaned out. 2017-11-25 10:20:52 +01:00
iceman1001 bc131dd105 fix: high and low variable should now contain raw hex. 2017-10-29 11:20:10 +01:00
iceman1001 6aec2f5951 FIX: spelled wrong. downside with working in notepad++ 2017-10-29 10:38:49 +01:00
iceman1001 2e32fd289c ADD: StandAloneMode LF Proxbrute by @brad-anton
https://github.com/brad-anton/proxbrute

--adjusted to fit iceman fork and latest enhancements to LF
(untested)
2017-10-29 03:51:07 +01:00
iceman1001 fab1b64760 ADD: standalone mode : LF HID corporate 1000 bruteforce by @federicodotta et al.
https://github.com/federicodotta/proxmark3

--adjusted to fit iceman fork and latest enhancements to LF
(untested)

FIX:  some calls to deviceside demods, use 0 instead of reference.
ADD:  timeout after n cycles of simulating
2017-10-29 03:26:46 +01:00
iceman1001 9e527537c6 fix: remove compile warnings (@winguru) 2017-10-23 21:19:46 +02:00
iceman1001 55e87490cf fix: remove all traces of fpga_nfc... 2017-10-20 22:01:10 +02:00
iceman1001 4b63f940f1 CHG: FeliCa implemenation by @satsuoni 2017-10-20 20:27:44 +02:00
iceman1001 3108293c1f ADD: New standalone mode by (@cjbrigato) Excellent work! 2017-10-20 15:29:33 +02:00
iceman1001 a9bf084916 chg: Shortend a wait. Not sure why we wait here. 2017-10-20 14:51:12 +02:00
iceman1001 dc7473135c syntax cleaning 2017-10-17 22:05:52 +02:00
iceman1001 d46955e309 FIX: bootrom - flashmode should also not assume sizeof(usbcommand) 544 bytes 2017-10-17 21:14:36 +02:00
iceman1001 16028f7d33 CHG: appmain now calls cmd_recieve as it should
CHG: flasher -  removed unneeded parameter to function
CHG: flasher - increased limit to fpga-files that can be loaded
FIX: main client,  wrong windows define fixed.
CHG: device side - recieve usb command does not always get 544 bytes.  usb packages can be incomplete.
CHG: usb_cdc.c also got piwi's changes.
CHG: uart_posix.c removed a debug value
CHG: uart_win32.c clean up.
2017-10-17 20:58:17 +02:00
iceman1001 1cca109429 chg: validating we got a full usbcommand (512b) 2017-10-11 12:48:04 +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 4dccc340ae correcting the standalone addons pathing.
adding some comments on standalone problematics
2017-09-28 22:33:03 +02:00
iceman1001 b0bf1faa3d CHG: 'EMV' , at least it compiles, however working that is a completely different issue.. 2017-09-19 19:49:47 +02:00
iceman1001 b439c76c6e CHG: changed name on define. Its now called CMD_UPLOAD_SIM_SAMPLES_125K .. Since we upload to device. 2017-09-14 11:13:10 +02:00
iceman1001 ec07e2e006 FIX: 'hf 15 *' commands - the demod should work better now and as a bonus I've added some tracelogging. The timer is not quite correct yet but its a start.
sample:
   hf 15 reader
   hf list raw
2017-09-04 13:56:57 +02:00
iceman1001 a971c03877 chg: the version text layout 2017-08-29 08:46:26 +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 9d8cfd13a7 NEW: cleaning up in the StandAloneMode mods.
'hw version' - added a function to print out which mods is installed on the firmware (deviceside)

New compiler flags are:
# -DWITH_ICEMAN
# -DWITH_LF_SAMYRUN
# -DWITH_LF_PROXBRUTE
# -DWITH_LF_HIDCORP
# -DWITH_HF_YOUNG
# -DWITH_HF_MATTYRUN

The code behind them are NOT in this commit.  They will come in there own files later on.
2017-08-06 16:29:29 +02:00
iceman1001 91898babc0 FIX: data plot AutoCorrelate slider, window too big, now limited to number of samples.
enhanced debugstatements,
'lf em 410x_demod' vs 'lf em 410x_read'   now read does the same as all other LF,  and demod too...
2017-07-30 21:21:02 +02:00
iceman1001 b3f787a64f fixes: armside 2017-07-30 10:01:30 +02:00
iceman1001 f28da2da6e monster merge...
all those changes marshmellow did..  and more...
2017-07-30 09:17:48 +02:00
iceman1001 9ca75c1cfd disable some debug output 2017-07-28 03:00:28 +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 8bc17414fd new coverity scan complains..
fix 'lf hitag'  bit comparisions wrong
fix 'standalone mode'  logically dead code
2017-07-07 15:45:40 +02:00
iceman1001 4406f4ee2a CHG: removed some #DEFINE TRUE/FALSE 2017-07-07 12:52:51 +02:00
iceman1001 77c98eb2d7 FIX: 'hf standalone mode' - had some printing issues when printing a Uin64_t. 2017-07-07 12:34:57 +02:00
angelsl ece631fd06 Add Mifare Classic EV1 set load modulation command 2017-03-09 21:37:16 +08: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 99136c6eef CHG: finalized the merge between peter filmoores 14atagfuzz branch (emv). I seriously doubt anything works. 2017-03-01 21:51:23 +01:00
iceman1001 9c624f67b3 chg: @piwi's code cleanup and some more.
ref: 43534cbad2
2017-02-23 00:03:10 +01:00
iceman1001 573e8d72c7 FIX: 'EMV compiling' - Makefiles are very picky about how things are done. its parser is a bit paranoid. So, to make things easier and more correct.
- armsrc/Makefile          when commenting out functionality,  move it below the comment otherwise APPS_CFLAG breaks to early.  See WITH_LCD
  - common/Makefile.common   enable / disable EMV,  uncomment two lines.  then make clean && make all.  flash,   MIGHT NOT work on 256kb devices

FIX: missing break in appmain.c made it go to iclass function..
2017-02-13 15:32:48 +01:00
iceman1001 cb1ba30a5e FIX: first attempt to clean up EM4x50 commands.
- `lf em4x readwordPWD` merged into `lf em4x readword` See help text
 - `lf em4x writewordPWD` merged into `lf em4x writeword` See help text

 - `lf em4x readword` now download the collected signal data after command.

On device side the lfops.c has gotten some love. Code cleaner,  increased EM_START_GAP from 55 FC to 56 FC, because of how our microsecond(us) clock works with 21.3us increments.

TODO: `lf em4x em4x50read` needs to be factored to use @marshmellow42 's  ASKdemod instead of trying to do itself.
2017-02-07 22:26:06 +01:00
iceman1001 5f5b83b743 ADD: 'lf cotag read' - COTAG can be read now. 2017-02-02 15:32:21 +01:00
iceman1001 4401050bcc ADD: 'hf standalone 14a mode", added "mifare 4k" detection.
ADD: 'hf 14a sim' - added mifare 4k simulation.
2017-02-01 14:41:06 +01:00
iceman1001 d760c7b3d9 FIX: 'standalone_14a mode' - cleaned up the standalone14a mode code. It now detects and simulates 4,7byte uids, like it should. code refactored to be easier to understand. 2017-02-01 14:09:26 +01:00
iceman1001 16cfceb689 CHG: rename a local scope variable "data"->"cmd"
CHG: call params to selectcard too few
CHG: 'standalone HF mode' - when copying second UID onto data array,  it should append after first one, not over the first one.
ref: https://github.com/iceman1001/proxmark3/issues/77    Lets see if this fixes the HF part of this issue
2017-02-01 12:50:54 +01:00
iceman1001 4653da4331 ADD: lf cotag - added first try at basic functionality to read samples from Cotag. In lfops.c is the startup sequence that needs to be tested out. 2017-01-27 10:49:34 +01:00
iceman1001 53d5dc643f CHG: fiddled with the headerfiles... and makefile... Tried to make them behave nice. So it isnt a hell to add new functions from third-party (like des, aes etc)
Added a lot of #ifndef ,   extern C,
Move inside from ARMSRC -> THUMBS,  which made the compiled image smaller.. I don't know if it broke anything.
Moved MF_DBGLEVEL definitions into common.h
Moved print_result from util.c into appmain.c
Also split up some struct typedef  into header files so they could be reused in other code places.

''' danger '''  this might have broken stuff...
2017-01-25 00:33:03 +01:00
iceman1001 81b7e89434 CHG: lowered the number of bytes collected for T55xxReadBlock. Was 12000 -> 7679
CHG: added some documentation about what arguments does.
CHG: 'data tune' - added flush after printf.
2017-01-16 21:06:51 +01:00
iceman1001 aed36ae5bd ADD: 'install.sh' blacklist rules installed aswell. run as root to install. 2017-01-16 15:02:10 +01:00
iceman1001 f133389866 CHG: download data from device to client, make a debugstatment when send command failed. 2017-01-16 14:48:26 +01:00
iceman1001 8fd25db30c CHG: move the call to fpga_bitstream_lf, in order to save the uploaded data from the client. Changing bitstream wipes bigbuffer. 2016-10-20 01:06:17 +02:00
iceman1001 b069fb8bba syntax suger
and forgot to add method declaration to headerfile
2016-10-14 15:47:40 +02:00
iceman1001 0e8cabed8d ADD: "hf legic eload" - Load binary file to emulator memory. Use "h" for help text
ADD:  "hf legic esave" - Save emulator memory to binary file. Use "h" for help text
2016-10-06 19:13:23 +02:00
iceman1001 3e750be37c ADD: started to add a legic detection to "HF SEARCH" 2016-09-26 20:01:23 +02:00
iceman1001 ab1112796e CHG: removed call to bigbuff free. 2016-09-01 20:31:22 +02:00
iceman1001 2deea574d3 CHG: reverting use of bigbuff, because I forgot that every switch between LF/HF images destroys BigBuff. 2016-09-01 00:52:54 +02:00
iceman1001 cc70dd6b60 FIX: should fix the typedefintion error for OS X regarding bool cmd_send 2016-08-31 21:11:57 +02:00
iceman1001 153a4a78fe CHG: the loop in main, for usb_poll_validate_length, shouldn't do anything, it should be done inside the next call to usb_read... 2016-08-31 19:22:52 +02:00
iceman1001 f121b478a1 FIX: 'lf awid bruteforce' cleaning up all debug messages 2016-08-26 16:35:30 +02:00
iceman1001 df007486f5 ADD: @donwan581 select keytype for the darkside attack. 2016-08-04 21:51:26 +02:00
iceman1001 d0724780ab FIX: Found a minor bug in 'LF CMDREAD' where it on device side didn't compare with the right char 'h' instead of 'H'. Re-wrote that whole part anyway, I changed periods to be max 0xFFFF in length, doubtful that a zero or one delay will be bigger than 65535... 2016-07-30 19:30:53 +02:00
iceman1001 3e134b4c20 CHG: merged the forum user @jason 's fixes to LEGIC. *UNTESTED*
CHG: changed the CRC implementations.
2016-07-28 21:41:44 +02:00
iceman1001 dccddaef77 CHG: "hf 14b sim" - Added the possibility to call it with a PUPI/UID. Sample: "hf 14b sim u 11223344" 2016-04-27 11:21:29 +02:00
iceman1001 6fc68747f6 ADD: well, starting with a luascript for reading calypso tags, made me remake the 14b raw command on client and device side. Sorry @marshmellow42 , but this one broke your "hf 14b info" implementation. I fixed the "hf 14b read" and the hf search. So not to bad, but still a bit broken. The 14b raw device side is now very similar to 14a raw. Which is good. There is a Standard 14b 0x050008 detection and STmicroelectronic 0x0600 detection on deviceside. This removes a lot of code client side.
I also made the SRi read functions better by combining them.   The demodulation / uart code should be the same as last summers changes.  The device side code can now be even smaller.
2016-03-20 19:33:07 +01:00
iceman1001 f2c2b174cd CHG: moved some #define into include\common.h (which is call by apps.h), so we have one place for them. Also changed them to CAPITAL.
ABS(),  MIN(), MAX()
2016-03-13 07:16:42 +01:00
iceman1001 aaa1a9a2dc CHG: Added calling clear bigbuff to zero out it also, instead of just "free" it.
ADD:  downloading the EML part from BigBuffer specially.
2016-03-12 09:03:28 +01:00
iceman1001 38e4191705 CHG; a fix for "HF TUNE", I always were annoyed with the hf tune where it printed one value per row endlessly. So this fixes that, it uses "\r" to print on the same row. Works on MINGW/WINDOWS. Havn'nt tested it on Linux yet. But it looks good now. 2016-03-06 10:35:25 +01:00
iceman1001 0db11b71ef ADD: Added the HitagS from @spenneb ref:https://events.ccc.de/congress/2015/Fahrplan/events/7166.html
PM3 Master PR: https://github.com/Proxmark/proxmark3/pull/167

Adjusted the ENUM names to fit in my fork.  We need a better namestandard for it.
2016-03-04 19:06:47 +01:00
iceman1001 b7536e11e1 FIX: added @marshmellow42 's fixes for StandAloneMode. Some debug printed wrong sized hex and the call to CopyHIDtoT55x7 had the parameters in wrong order. 2016-02-10 17:33:12 +01:00
iceman1001 da198be4b5 CHG: Syntax suger 2016-01-25 20:17:08 +01:00
iceman1001 810f53792e ADD: added the possibility to choose which block num to attack with "hf mf mifare" Before it only worked on block 0. 2016-01-20 22:26:01 +01:00
iceman1001 0d5ee8e245 ADD: @pwpiwi 's latest changes to 'hf mf hardnested' 2016-01-13 09:31:13 +01:00