iceman1001 [Wed, 17 Dec 2014 19:33:21 +0000 (20:33 +0100)]
Applied Holiman's fixes for iclass.c and CSNs
Applied PwPiwi's new parity fix.
Applied Marshmellw's fixes for FSKdemod (HID, IO)
FIX: a potential bigbuffer fault given pwpiwi's change inside lfops.c CmdIOdemodFSK & CmdHIDdemodFSK
FIX: change some "int" parameters to uint's.
FIX: changed the lfops.c - DoAcquisition125k_internal to respect pwpiwi's definitions of FREE_BUFFER_OFFSET
HEADS up: The ultralight functions hasn't been verified since pwpiwi's changes.
iceman1001 [Sun, 30 Nov 2014 18:16:28 +0000 (19:16 +0100)]
ADD: Enio's intuative function for the command: "hw tune", where you plot the tuning-data :)
ADD: added optional parameter to "hw tune" to show graf direct. Sample usage: "hw tune p"
iceman1001 [Thu, 27 Nov 2014 21:16:17 +0000 (22:16 +0100)]
BUG: don't try to fix things that ain't broken.. or not. My try for a fix ended up making the PrintAndLog function stop working. Just by calling a fclose.. fixed.
iceman1001 [Wed, 26 Nov 2014 12:52:39 +0000 (13:52 +0100)]
ADD: the option to simulate tnp3xxx inthe command "hf mf sim"
ADD: found some new default keys
ADD: changed alot of memorys buffers to use constant values. like usbbuffer sizes, tracelogs, etc etc
ADD: all changes Peter filmoore has in his pull request.
iceman1001 [Sun, 16 Nov 2014 10:22:06 +0000 (11:22 +0100)]
FIX: hf mf eload - now supports specifying 0,1,2,4 in card memory for the file to be loaded.
FIX: hf mf esave - now supports specifying 0,1,2,4 in card memory for the file to be saved.
ADD: data.h - added FILE_PATH_SIZE constant
ADD: hf legic load - a command help and checks for FILE_PATH_SIZE
ADD: hf legis save - now checks for FILE_PATH_SIZE
ADD: lf hitag - now checks for FILE_PATH_SIZE
ADD: util.c - AddLogLine now checks for FILE_PATH_SIZE
ADD: data load / save - now checks for FILE_PATH_SIZE
FIX: ui.c - added a case of closing a filehandle
FIX: hf mf cload / csave now checks for FILE_PATH_SIZE
FIX: armsrc/mifarecmd.c - adjusted the buffersize in MifareEMemget from 48 to USB_CMD_DATA_SIZE
iceman1001 [Fri, 14 Nov 2014 12:24:45 +0000 (13:24 +0100)]
REN: renamed tnp3.lua to tnp3dump.lua since that name is more explainatory
ADD: added tnp3sim.lua a script which loads a dump and sends it to the pm3 device memory.
iceman1001 [Thu, 13 Nov 2014 21:02:36 +0000 (22:02 +0100)]
FIX: Corrected the bug mention http://www.proxmark.org/forum/viewtopic.php?id=1612 filepath too short in "hf mf eload / esave / cload / csave" commands. Length was 14, is now 250. Should be enough for awhile.
iceman1001 [Wed, 12 Nov 2014 22:18:46 +0000 (23:18 +0100)]
ADD: tnp3.lua can now validate the checkums in the dump
ADD: added CRC16 CCITT functionality to LUA
FIX: tnp3.lua is now correctly decryping data while dumping
iceman1001 [Mon, 10 Nov 2014 20:46:21 +0000 (21:46 +0100)]
ADD: html_dumplib.lua, added the functionality to save text-files.
ADD: tnp3.lua, now will save the dumped data to BIN and EML
FIX: tnp3.lua, added some clearcommando buffer to help the pm3 not to be blocked
iceman1001 [Sun, 9 Nov 2014 18:29:47 +0000 (19:29 +0100)]
FIX: I think the dumping of data is correct now in tnp3.lua. MD5 string vs bytearrays in lua are tricky
ADD: utils.lua some functions to convert between ascii, bytes and strings.
iceman1001 [Thu, 30 Oct 2014 14:28:45 +0000 (15:28 +0100)]
ADD: Implemented a "hf 14b write" function using the CmdHF14BCmdRaw method. The function can write to SRI512 and SRIX4K tags only. Be extremly cautious when writing to Block 0xFF
iceman1001 [Mon, 27 Oct 2014 20:42:41 +0000 (21:42 +0100)]
FIX: Another try to see if the "lf em4x 410xsim" becomes better, added the clock in the calls since the auto detection of the clock seems to be wrong. I get 67, instead of 64...
FIX: changes the transfersize from sim -> pm3, was 48, now USB_CMD_DATA_SIZE (512) Much faster!
iceman1001 [Mon, 27 Oct 2014 18:46:21 +0000 (19:46 +0100)]
Inital test for the "lf em4x 410xsim / lf em4x 410xwatch" which I try to verify that the sim works.
Something about speed, the clock detection is not so good. should be 64, usually 67..
iceman1001 [Sun, 26 Oct 2014 20:25:06 +0000 (21:25 +0100)]
Minor bug fixes with help from Holiman.
FIX: sprint_hex, sprint_bin has better length detection.
FIX: ui.c has removed all c99 array declarations, with malloc
FIX: hfmfmfu.c wrong length in one array caused crashes in CmdHF14AMfURdCard
FIX: cmdlft55xx.c CmdDump has now a correct pwd string.
iceman1001 [Thu, 23 Oct 2014 22:04:56 +0000 (00:04 +0200)]
BUG: the lf read now uses "getbigbuffer" which the offset from where the data starts in "data samples nnnnn" needed to be set.
ADD: ioprox nxp identifikations
iceman1001 [Thu, 16 Oct 2014 13:05:27 +0000 (15:05 +0200)]
Small fixes,
Fix: removed a call to free, which I think made linux people unhappy during "lf t55xx rd 0"...
Add: "lf t55xx fsk" now kind of outputs binary from "FSK2a R/40 R/50"..
hf mf dump error handling, revive hf mf chk d option, provide known keys dictionary file
- hf mf dump: abort on unrecoverable errors. Don't create file dumpdata.bin in this case.
- hf mf chk: re-enabled and fixed option d (dump keys to dumpkeys.bin).
if there are unknown keys, write 0xffffffffffff instead to the file.
- provide a default key dictionary file for hf mf chk (default_keys.dic). Contents taken from
mf_default_keys.lua
fix/add support for 4K (and other non 1K) card sizes in hf mf commands
- hf mf rdsc (fix): didn't account for 16 block sectors, allowed max sector 63 instead of 39
- hf mf ecfill (add): added (optional) card size parameter and support for non 1K cards
- hf mf dump (add): added (optional) card size parameter and support for non 1K cards
- hf mf dump (fix): Access Condition 011 not handled correctly (tried to access with key A)
- hf mf restore (add): added (optional) card size parameter and support for non 1K cards
- hf mf nested (fix): didn't account for 16 block sectors, allowed max sector 63 instead of 39
- hf mf nested (fix): always dumped 16 keys to dumpkeys.bin instead of correct number
- hf mf chk (fix): always dumped 16 keys to dumpkeys.bin instead of correct number
- hf mf eget (fix): displayed three instead of one block
- hf mf eload (add): load 4K .eml files (but accepts 1K .eml files for backwards compatibility)
- hf mf esave (add): always save the whole emulator memory (4K) instead of 1K only
- hf mf ecfill (add): added (optional) card size parameter and support for non 1K cards
bugfixes hf mf sim
- output of debug messages caused communication failures due to timing issues.
hf mf dbg 4 now required to see these debug messages.
- changed help text for hf mf dbg
- fixed minor bugs in help texts for hf mf sim and hf mf ecset
- display "key A" or "key B" instead of "key=0" or "key=1 in hf mf sim
minor bugfixes to hf mf sniff and hf 14a snoop
- tracing was not always enabled when starting hf mf sniff or hf 14a snoop
- ATQA was displayed in wrong byte order in hf mf sniff
- 4 Byte UIDs were displayed as 7 Byte UIDs (padded with 0x000000) in hf mf sniff
- same for logfile names.
- assignment (=) had been used instead of == in comparisons (shouldn't have been relevant though)
minor bugfix and enhancement to hf 14a reader
- "SAK incorrectly claims ... " message was displayed incorrectly
- now decodes FSCI, SFGI, FWI and displays FSC, SFGT, FWT resp.
pwpiwi [Mon, 30 Jun 2014 06:21:50 +0000 (08:21 +0200)]
hf 14a reader enhancement
In order to be able to distinguish between Mifare Classic and Mifare Plus
in Security Level 1 (SL1, Mifare Classic Compatibility Mode), hf 14a reader
now always tries RATS - even if SAK claims not to support ISO14443-4.
iZsh [Sat, 21 Jun 2014 22:26:38 +0000 (00:26 +0200)]
New LF edge detection algorithm + lowpass filter
This is a new LF edge detection algorithm for the FPGA.
- It uses a low-pass IIR filter to clean the signal
(see https://fail0verflow.com/blog/2014/proxmark3-fpga-iir-filter.html)
- The algorithm is able to detect consecutive peaks in the same
direction
- It uses an envelope follower to dynamically adjust the peak thresholds
- The main threshold used in the envelope follower can be set from the ARM side
fpga/lf_edge_detect.v,
fpga/lp20khz_1MSa_iir_filter.v,
fpga/min_max_tracker.v: New file.
armsrc/apps.h (FPGA_CMD_SET_USER_BYTE1,
FPGA_CMD_SET_EDGE_DETECT_THRESHOLD): New FPGA command.
fpga/fpga_lf.v: Modify accordingly/Add a 8bit user register.
fpga/fpga_lf.bit: Update accordingly.
fpga/tests: New directory for testbenches
fpga/tests/Makefile: New file. It compiles the testbenches
and runs all the tests by default (comparing with the golden output)
fpga/tests/tb_lp20khz_1MSa_iir_filter.v,
fpga/tests/tb_min_max_tracker.v,
fpga/tests/tb_lf_edge_detect.v: New testbenches
fpga/tests/plot_edgedetect.py: New script to plot the results from
the edge detection tests.
fpga/tests/tb_data: New directory for data and golden outputs