fixing iso15693
[proxmark3-svn] / CHANGELOG.md
CommitLineData
616970b3
MHS
1# Change Log
2All notable changes to this project will be documented in this file.
3This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
4
5ebdce44
MHS
5## [unreleased][unreleased]
6
9f383913 7### Changed
4b5d696c 8- Changed hf mfp security. Now it works in all the modes. (drHatson)
6b882a39 9- `hf fido` - show/check DER certificate and signatures (Merlok)
7b6e3205 10- Changed `lf hitag reader 0x ... <firstPage> <tagmode>` - to select first page to read and tagmode (0=STANDARD, 1=ADVANCED, 2=FAST_ADVANCED)
11- Accept hitagS con0 tags with memory bits set to 11 and handle like 2048 tag
9f383913 12
13### Fixed
7b6e3205 14- AC-Mode decoding for HitagS
d9de20fa 15- Wrong UID at HitagS simulation
fc52fbd4 16- `hf 15 sim` now works as expected (piwi)
faa35ae0 17- `hf mf chk t` save to emulator memory now works as expected (mwalker)
26d0156a 18- Fix `hf mf sim` - wrong access rights to write key B in trailer (@McEloff)
19- allow files > 512Bytes in 'hf iclass eload' (@Sherhannn79)
aa8ff592 20- `hf mf nested` now works with fixed nonce tags too (uzlonewolf, piwi)
faa35ae0 21
9f383913 22### Added
5a446cb2 23- Added to `hf 14a apdu` print apdu and compose apdu (@merlokk)
096dee17 24- Added `hf 15 csetuid` - set UID on ISO-15693 Magic tags (t0m4)
2de26056 25- Added `lf config s xxxx` option to allow skipping x samples before capture (marshmellow)
26- Added `lf em 4x05protect` to support changing protection blocks on em4x05 chips (marshmellow)
7b6e3205 27- Support Standard Communication Mode in HITAG S
39cc1c87 28- Added `hf emv scan` - commands for scan EMV card and dump data to json file (Merlok)
ae3340a0 29- `hf mfp` group of commands (Merlok)
39cc1c87 30- Added `hf fido` - FIDO U2F authenticator commands https://fidoalliance.org/ (Merlok)
7b6e3205 31- Added `lf hitag reader 03` - read block (instead of pages)
32- Added `lf hitag reader 04` - read block (instead of pages)
0bb51450 33- Added `hf fido` `assert` and `make` commands from fido2 protocol (authenticatorMakeCredential and authenticatorGetAssertion) (Merlok)
5f84531b 34- Added `lf paradox clone` to clone a Paradox card
faa35ae0 35- Added `emv` commands working for both contactless and smart cards (Merlok)
fc52fbd4 36- Added `hf 15 snoop` (piwi)
37- Added support for standard USB Smartcard Readers (piwi)
38- Added `hf plot` (piwi)
fdd9395d
OM
39- Added `hf mfp mad` `hf mf mad` parsing MAD1 and MAD2 (Merlok)
40- Added `hf mfp ndef` `hf mf ndef` parsing NDEF records (Merlok)
a8561e35 41- Added Mifare Mini, Mifare 2K and 4K support to `hf mf sim` (piwi)
bad58246 42- Added Legic detection to `hf search` (dnet)
5f18b0c4 43- Added Home (Pos1) and End key bindings to the plot GUI (based on @mcd1992)
d3521ae6 44- Added downlink reference mode option r <mode> [ 0 - (or missing) default/fixed bit, 1 - long leading, 2 - leading 0 and 3 - 1 of 4 ] to `lf t55xx detect`, `lf t55xx read`, `lf t55xx write`, and `lf t55xx bruteforce`
45- Added special option `r 4` to bruteforce, to try all downlink modes (0,1,2 and 3) for each password
3a5ffba7 46- `hf mfu info` now checks the NXP Originality Signature if availabe (piwi)
0b4efbde 47- Added `hf mf personalize` to personalize the UID option of Mifare Classic EV1 cards (piwi)
d3521ae6 48
5f84531b 49
9f383913 50## [v3.1.0][2018-10-10]
51
59d86baf 52### Changed
2896e490 53- Adjusted `lf cmdread` to respond to client when complete and the client will then automatically call `data samples`
9f383913 54- Improved backdoor detection misbehaving magic s50/1k tag (Fl0-0)
3a05a1e7 55- Deleted wipe functionality from `hf mf csetuid` (Merlok)
adf023ff
OM
56- Changed `hf mf nested` logic (Merlok)
57- Added `hf mf nested` mode: autosearch keys for attack (from well known keys) (Merlok)
275d9e61
OM
58- `hf mf nested` Check keys after they have found (Merlok)
59- `hf mf chk` Move main cycle to arm (Merlok)
aa757f71 60- Changed proxmark command line parameter `flush` to `-f` or `-flush` (Merlok)
9f383913 61- Changed `hf 14a reader` to just request-anticolission-select sequence (Merlok)
1d6f7bc8 62- Changed `hf 14a raw` - works with LED's and some exchange logic (Merlok)
3c5fce2b 63- Changed TLV parser messages to more convenient (Merlok)
da05bc6e 64- Rewritten Legic Prime reader (`hf legic reader`, `write` and `fill`) - it is using xcorrelation now (AntiCat)
6e3d8d67 65- `hf 14a` commands works via argtable3 commandline parsing library (Merlok)
fc7a78f2 66- HID LF operations on firmware updated for complete native support of long (>37 bit) HID tags (grauerfuchs)
2dedd5ea 67- Changed Legic Prime tag simulator (`hf legic sim`) to run from 212 kHz SSP clock for better reliability (AntiCat)
59d86baf 68
69### Fixed
aa757f71 70- Changed start sequence in Qt mode (fix: short commands hangs main Qt thread) (Merlok)
e475fce4 71- Changed driver file proxmark3.inf to support both old and new Product/Vendor IDs (piwi)
8c2ae217 72- Changed all command line parsers in `hf emv` commands to argtable (Merlok)
2a537311 73- Implemented AppNap API, fixing #283 and #627 OSX USB comm issues (AntiCat)
59d86baf 74
75### Added
43591e64 76- Added `sc` smartcard (contact card) commands - reader, info, raw, upgrade, setclock, list (hardware version RDV4.0 only) must turn option on in makefile options (Willok, Iceman, marshmellow)
2896e490 77- Added a bitbang mode to `lf cmdread` if delay is 0 the cmd bits turn off and on the antenna with 0 and 1 respectively (marshmellow)
69f42a05 78- Added PAC/Stanley detection to lf search (marshmellow)
79- Added lf pac demod and lf pac read - extracts the raw blocks from a PAC/Stanley tag (marshmellow)
9f383913 80- Added hf mf c* commands compatibility for 4k and gen1b backdoor (Fl0-0)
7906cb41 81- Added backdoor detection for gen1b magic s70/4k tag (Fl0-0)
69f42a05 82- Added data fsktonrz, a fsk cleaning/demodulating routine for weak fsk signal. Note: follow this up with a `data rawdemod nr` to finish demoding your signal. (marshmellow)
1dc0500b 83- Added lf em 410xbrute, LF EM410x reader bruteforce attack by simulating UIDs from a file (Fl0-0)
3a05a1e7 84- Added `hf mf cwipe` command. It wipes "magic Chinese" card. For 1a generation it uses card's "wipe" command. For gen1a and gen1b it uses a write command. (Merlok)
adf023ff
OM
85- Added to `hf mf nested` source key check before attack (Merlok)
86- Added to `hf mf nested` after attack it checks all found keys on non-open sectors (Merlok)
9f383913 87- `hf mf chk` Added settings to set iso14443a operations timeout. default timeout set to 500us (Merlok)
0c86cb01 88- Added to `hf mf nested` parameters `s` and `ss` for checking slow cards (Merlok)
aa757f71
OM
89- Added to proxmark command line parameters `w` - wait 20s for serial port (Merlok)
90- Added to proxmark command line parameters `c` and `l` - execute command and lua script from command line (Merlok)
91- Added to proxmark ability to execute commands from stdin (pipe) (Merlok)
75e42ef5
OM
92- Added `hf 14a info` and moved there functionality from `hf 14a reader` (Merlok)
93- Added to `hf 14a info` detection of weak prng from Iceman1001 fork (Merlok)
1d6f7bc8 94- Added to `hf 14a apdu` - exchange apdu via iso1443-4 (Merlok)
95- Added to `hf 14a apdu` - apdu and tlv results parser (Merlok)
3c5fce2b
OM
96- Added `hf emv` group of commands (Merlok)
97- Added `hf emv search` `hf emv pse` - commands for selection of EMV application (Merlok)
98- Added `hf emv select` - command for select EMV application (Merlok)
44128a0e 99- Added `hf emv exec` - command for execute EMV transaction (Merlok)
100- Added to `hf emv exec` MSD path for VISA and Mastercard and some other compatible EMV cards (Merlok)
d03fb293
OM
101- Added to `hf emv exec` SDA, DDA, fast DDA, CDA calculations for VISA and Mastercard and some other compatible EMV cards (Merlok)
102- Added `hf emv test` - crypto tests for DES, AES, SHA, RSA, SDA, DDA, CDA and some other crypto functions (Merlok)
079563a0 103- Added `hf list mf` - deciphers crypto1 stream and works with first authentication and weak nested authentications (Merlok)
8c2ae217 104- Added to `hf emv` commands: `gpo`, `readrec`, `genac`, `challenge`, `intauth` - commands working with EMV cards (Merlok)
fc7a78f2 105- Added `lf hid encode` and `lf hid decode` commands to translate printed HID card data to and from the packed data transmitted by a prox tag (grauerfuchs)
106- Added `lf hid write` command, which operates as a macro for encode followed by clone operations (grauerfuchs)
b63bd049 107
108## [3.0.1][2017-06-08]
109
110### Fixed
111- Compiles on OS X
112- Compiles with gcc 4.9
113- Compiles for non-Intel CPUs
114
115
116## [3.0.0][2017-06-05]
59d86baf 117
52244230
HJ
118### Added
119- Added lf hitag write 24, the command writes a block to hitag2 tags in crypto mode (henjo)
120
e46fe044 121### Added
e475fce4 122- Added hf mf hardnested, an attack working for hardened Mifare cards (EV1, Mifare Plus SL1) where hf mf nested fails (piwi)
605524b1 123- Added experimental testmode write option for t55xx (danger) (marshmellow)
124- Added t55xx p1detect to `lf search` chip detections (marshmellow)
125- Added lf t55xx p1detect, detect page 1 of a t55xx tag based on E015 mfg code (marshmellow)
a9968da3 126- Added lf noralsy demod, read, clone, sim commands (iceman)
127- Added lf jablotron demod, read, clone, sim commands (iceman)
128- Added lf nexwatch read - reads a nexwatch tag from the antenna
129- Added lf paradox read - reads a paradox tag from the antenna
4db6f3bb 130- Added lf fdx sim (iceman)
a9968da3 131- Added lf fdx clone - clones an fdx-b animal tag to t55x7 or q5 (iceman)
132- Added lf fdx read - reads a fdx-b tag from the antenna (iceman)
133- Added lf gproxii read - reads a gproxii tag from the antenna (marshmellow)
134- Added lf indala read - reads an indala tag from the antenna (marshmellow)
8b6abef5 135- Added lf visa2000 demod, read, clone, sim commands (iceman)
ebd95feb 136- Added markers in the graph around found Sequence Terminator after askmandemod.
137- Added data mtrim <start> <stop> command to trim out samples between start and stop
138- Added data setgraphmarkers <orange> <blue> command to set two extra markers on the graph (marshmellow)
b7fc61f0 139- Added EM4x05/EM4x69 chip detection to lf search (marshmellow)
140- Added lf em 4x05dump command to read and output all the blocks of the chip (marshmellow)
141- Added lf em 4x05info command to read and display information about the chip (marshmellow)
f1e6629b 142- Added lf cotag read, and added it to lf search (iceman)
89696b8b 143- Added hitag2 read UID only and added that to lf search (marshmellow)
76ef5273 144- Added lf pyramid commands (iceman)
145- Added lf presco commands - some bits not fully understood... (iceman)
5cfd18ac
RS
146- Added experimental HitagS support (Oguzhan Cicek, Hendrik Schwartke, Ralf Spenneberg)
147 see https://media.ccc.de/v/32c3-7166-sicherheit_von_125khz_transpondern_am_beispiel_hitag_s
148 English video available
e452cfb4 149- Added a LF ASK Sequence Terminator detection option to the standard ask demod - and applied it to `lf search u`, `lf t55xx detect`, and `data rawdemod am s` (marshmellow)
506672c4 150- `lf t55xx bruteforce <start password> <end password> [i <*.dic>]` - Simple bruteforce attack to find password - (iceman and others)
151- `lf viking clone`- clone viking tag to t55x7 or Q5 from 4byte hex ID input
152- `lf viking sim` - sim full viking tag from 4byte hex ID input
153- `lf viking read` - read viking tag and output ID
154- `lf t55xx wipe` - sets t55xx back to factory defaults
415274a7 155- Added viking demod to `lf search` (marshmellow)
f2fc0a9c 156- `lf viking demod` demod viking id tag from graphbuffer (marshmellow)
76ef5273 157- `lf t55xx resetread` added reset then read command - should allow determining start of stream transmissions (marshmellow)
88f475cf 158- `lf t55xx wakeup` added wake with password (AOR) to allow lf search or standard lf read after (iceman, marshmellow)
7a8344d0 159- `hf iclass managekeys` to save, load and manage iclass keys. (adjusted most commands to accept a loaded key in memory) (marshmellow)
160- `hf iclass readblk` to select, authenticate, and read 1 block from an iclass card (marshmellow)
85f581c7 161- `hf iclass writeblk` to select, authenticate, and write 1 block to an iclass card (or picopass) (marshmellow + others)
7a8344d0 162- `hf iclass clone` to take a saved dump file and clone selected blocks to a new tag (marshmellow + others)
163- `hf iclass calcnewkey` - to calculate the div_key change to change a key - (experimental) (marshmellow + others)
164- `hf iclass encryptblk` - to encrypt a data block hex to prep for writing that block (marshmellow)
e46fe044 165- ISO14443a stand-alone operation with ARM CFLAG="WITH_ISO14443a_StandAlone". This code can read & emulate two banks of 14a tag UIDs and write to "magic" cards (Craig Young)
769791d4 166- AWID26 command context added as 'lf awid' containing realtime demodulation as well as cloning/simulation based on tag numbers (Craig Young)
c89274cc
CY
167- Added 'hw status'. This command makes the ARM print out some runtime information. (holiman)
168- Added 'hw ping'. This command just sends a usb packets and checks if the pm3 is responsive. Can be used to abort certain operations which supports abort over usb. (holiman)
f6821167 169- Added `data hex2bin` and `data bin2hex` for command line conversion between binary and hexadecimal (holiman)
edc9ce00 170- Added 'hf snoop'. This command take digitalized signal from FPGA and put in BigBuffer. (pwpiwi + enio)
d9cc4e1a 171- Added Topaz (NFC type 1) protocol support ('hf topaz reader', 'hf list topaz', 'hf 14a raw -T', 'hf topaz snoop'). (piwi)
172- Added option c to 'hf list' (mark CRC bytes) (piwi)
769791d4 173
2c3c08bd 174### Changed
bb4e6dbd 175- Adjusted the lf demods to auto align and set the grid for the graph plot.
f9a6e84c 176- `lf snoop` now automatically gets samples from the device
177- `lf read` now accepts [#samples] as arg. && now automatically gets samples from the device
605524b1 178- adjusted lf t5 chip timings to use WaitUS. and adjusted the readblock timings
179 appears to have more consistent results with more antennas.
b97311b1 180- `lf t5 wakeup` has been adjusted to not need the p in front of the pwd arg.
5bce72d5 181- `data psknexwatchdemod` has been moved to `lf nexwatch demod` (reads from graphbuffer)
182- `data fskparadoxdemod` has been moved to `lf paradox demod` (reads from graphbuffer)
4db6f3bb 183- `data fdxdemod` has been moved to `lf fdx demod` (reads from graphbuffer)
946a84c3 184- `data askgproxiidemod has been moved to `lf gproxii demod` (reads from graphbuffer)
0fb65a26 185- `lf indalaclone` has been moved to `lf indala clone`
186- `lf indalademod` has been moved to `lf indala altdemod` (reads from graphbuffer)
187- `data pskindalademod` has been moved to `lf indala demod` (reads from graphbuffer)
f2fc0a9c 188- `data askvikingdemod` has been moved to `lf viking demod` (reads from graphbuffer)
cf4640b9 189- `data fskpyramiddemod` has been moved to `lf pyramid demod` (reads from graphbuffer)
190- `data fskiodemod` has been moved to `lf io demod` (reads from graphbuffer)
191- `lf io fskdemod` has been renamed to `lf io read` (reads from antenna)
6cd2eef4 192- `data fskawiddemod` has been moved to `lf awid demod` (reads from graphbuffer)
193- `lf awid fskdemod` has been renamed to `lf awid read` (reads from antenna)
194- `data fskhiddemod` has been moved to `lf hid demod` (reads from graphbuffer)
195- `lf hid demod` has been renamed to `lf hid read` (reads from antenna)
35aa230e 196- all em410x demod and print functions moved to cmdlfem4x.c
197- `data askem410xdemod` has been moved to `lf em 410xdemod` (reads from graphbuffer)
198- `lf em 410xdemod` has been renamed to `lf em 410xread` (reads from antenna)
ebd95feb 199- hf mf dump - added retry loops to try each read attempt up to 3 times. makes getting a complete dump easier with many antennas.
b7fc61f0 200- small changes to lf psk and fsk demods to improve results when the trace begins with noise or the chip isn't broadcasting yet (marshmellow)
201- NOTE CHANGED ALL `lf em4x em*` cmds to simpler `lf em ` - example: `lf em4x em410xdemod` is now `lf em 410xdemod`
202- Renamed and rebuilt `lf em readword` && readwordpwd to `lf em 4x05readword` - it now demods and outputs the read block (marshmellow/iceman)
203- Renamed and rebuilt `lf em writeword` && writewordpwd to `lf em 4x05writeword` - it now also reads validation output from the tag (marshmellow/iceman)
89696b8b 204- Fixed bug in lf sim and continuous demods not turning off antenna when finished
205- Fixed bug(s) in hf iclass write
76ef5273 206- Fixed bug in lf biphase sim - `lf simask b` (and any tagtype that relies on it - gproxii...) (marshmellow)
207- Fixed bug in lf viking clone/sim (iceman)
208- Fixed broken `data askedgedetect` (marshmellow)
209- Adjusted hf mf sim command (marshmellow)
210 added auto run mfkey32 to extract all keys
211 also added f parameter to allow attacking with UIDs from a file (implies x and i parameters)
212 also added e parameter to allow adding the extracted keys to emulator memory for the next simulation
213 added 10 byte uid option
214- Added `[l] <length>` option to data printdemodbuffer (marshmellow)
215- Adjusted lf awid clone to optionally clone to Q5 tags (marshmellow)
216- Adjusted lf t55xx detect to find Q5 tags (t5555) instead of just t55x7 (marshmellow)
217- Adjusted all lf NRZ demods - works more accurately and consistently (as long as you have strong signal) (marshmellow)
218- Adjusted lf pskindalademod to reduce false positive reads. (marshmellow)
219- Small adjustments to psk, nrz, and ask clock detect routines - more reliable. (marshmellow)
220- Adjusted lf em410x em410xsim to accept a clock argument (marshmellow)
88f475cf 221- Adjusted lf t55xx dump to allow overriding the safety check and warning text (marshmellow)
222- Adjusted lf t55xx write input variables (marshmellow)
223- Adjusted lf t55xx read with password safety check and warning text and adjusted the input variables (marshmellow & iceman)
76ef5273 224- Adjusted LF FSK demod to account for cross threshold fluctuations (898 count waves will adjust the 9 to 8 now...) more accurate. (marshmellow)
88f475cf 225- Adjusted timings for t55xx commands. more reliable now. (marshmellow & iceman)
21a615cb 226- `lf cmdread` adjusted input methods and added help text (marshmellow & iceman)
7a8344d0 227- changed `lf config t <threshold>` to be 0 - 128 and will trigger on + or - threshold value (marshmellow)
76ef5273 228- `hf iclass dump` cli options - can now dump AA1 and AA2 with different keys in one run (does not go to multiple pages for the larger tags yet) (marshmellow)
c89274cc 229- Revised workflow for StandAloneMode14a (Craig Young)
2c3c08bd 230- EPA functions (`hf epa`) now support both ISO 14443-A and 14443-B cards (frederikmoellers)
c89274cc 231- 'hw version' only talks to ARM at startup, after that the info is cached. (pwpiwi)
59296346 232- Added `r` option to iclass functions - allows key to be provided in raw block 3/4 format
5ebdce44
MHS
233
234## [2.2.0][2015-07-12]
475aefa5 235
b7eddc14 236### Changed
1c7d367e 237- Added `hf 14b raw -s` option to auto select a 14b std tag before raw command
b7eddc14 238- Changed `hf 14b write` to `hf 14b sriwrite` as it only applied to sri tags (marshmellow)
1c7d367e 239- Added `hf 14b info` to `hf search` (marshmellow)
60034782 240- Added compression of fpga config and data, *BOOTROM REFLASH REQUIRED* (piwi)
5ebdce44 241- Implemented better detection of mifare-tags that are not vulnerable to classic attacks (`hf mf mifare`, `hf mf nested`) (piwi)
b7eddc14 242
dd3d1b70 243### Added
1c7d367e 244- Add `hf 14b info` to find and print info about std 14b tags and sri tags (using 14b raw commands in the client) (marshmellow)
dd3d1b70
MHS
245- Add PACE replay functionality (frederikmoellers)
246
247### Fixed
248- t55xx write timing (marshmellow)
475aefa5
MHS
249
250
251## [2.1.0][2015-06-23]
252
616970b3 253### Changed
be10fe2f 254- Added ultralight/ntag tag type detection to `hf 14a read` (marshmellow)
255- Improved ultralight dump command to auto detect tag type, take authentication, and dump full memory (or subset specified) of known tag types (iceman1001 / marshmellow)
256- Combined ultralight read/write commands and added authentication (iceman1001)
acaeccf8 257- Improved LF manchester and biphase demodulation and ask clock detection especially for reads with heavy clipping. (marshmellow)
616970b3 258- Iclass read, `hf iclass read` now also reads tag config and prints configuration. (holiman)
2c772e6c 259- *bootrom* needs to be flashed, due to new address boundaries between os and fpga, after a size optimization (piwi)
616970b3
MHS
260
261### Fixed
acaeccf8 262- Fixed EM4x50 read/demod of the tags broadcasted memory blocks. 'lf em4x em4x50read' (not page read) (marshmellow)
263- Fixed issue #19, problems with LF T55xx commands (iceman1001, marshmellow)
475aefa5 264- Fixed various problems with iso14443b, issue #103 (piwi, marshmellow)
616970b3
MHS
265
266### Added
be10fe2f 267- Added `hf search` - currently tests for 14443a tags, iclass tags, and 15693 tags (marshmellow)
268- Added `hf mfu info` Ultralight/NTAG info command - reads tag configuration and info, allows authentication if needed (iceman1001, marshmellow)
269- Added Mifare Ultralight C and Ultralight EV1/NTAG authentication. (iceman1001)
616970b3
MHS
270- Added changelog
271
272## [2.0.0] - 2015-03-25
273### Changed
274- LF sim operations now abort when new commands arrive over the USB - not required to push the device button anymore.
275
276### Fixed
277- Mifare simulation, `hf mf sim` (was broken a long time) (pwpiwi)
278- Major improvements in LF area and data operations. (marshmellow, iceman1001)
279- Issues regarding LF simulation (pwpiwi)
280
281### Added
282- iClass functionality: full simulation of iclass tags, so tags can be simulated with data (not only CSN). Not yet support for write/update, but readers don't seem to enforce update. (holiman).
283- iClass decryption. Proxmark can now decrypt data on an iclass tag, but requires you to have the HID decryption key locally on your computer, as this is not bundled with the sourcecode.
Impressum, Datenschutz