Commit graph

1314 commits

Author SHA1 Message Date
Oleg Moiseenko
16cdfa6355
Merge branch 'master' into emv_argtable 2018-09-24 13:27:30 +03:00
Fl0-0
a7e1b46d51 Jansson gcc8 fix (#679)
* Fix error in error.c
* Fix error in load.c
2018-09-22 17:51:13 +02:00
marshmellow42
161c40fb52
Merge branch 'master' into master 2018-09-18 22:12:11 -04:00
Oleg Moiseenko
696e863078 added EMV tag #9F6E (#676) 2018-09-18 18:52:41 +02:00
merlokk
57548f275a hf emv exec works with argtable 2018-09-18 19:06:59 +03:00
merlokk
61ad070f56 delete unused procedure after merge 2018-09-18 18:36:03 +03:00
Oleg Moiseenko
654b6ae3f4
Merge branch 'master' into emv_argtable 2018-09-18 18:29:59 +03:00
Oleg Moiseenko
556826b5d5 Added loading EMV transaction parameters from json file (#659)
* added default params file
* added jansson
* added test function.
* added tlv tree to function
* add params from json works
* added to `hf emv exec`: load params from json and some refactoring
* added `scan` command
2018-09-18 07:15:34 +02:00
Michael Farrell
82258709f6 Remove unused functions le32toh, le24toh, hextobinstring, binarraytobinstring, print_hex, print_hex_break, sprint_hex_ascii, sprint_ascii, SwapEndian64ex (#667)
* Remove unused method le32toh.
* Delete unused function le24toh
* Remove unused functions hextobinstring, binarraytobinstring
* Remove unused functions print_hex, print_hex_break
* Delete unused functions sprint_hex_ascii, sprint_ascii
* Remove unused function SwapEndian64ex
2018-09-17 08:35:45 +02:00
grauerfuchs
0d7ee55f9d
Adding new Kastle 32-bit format from @xilni
As approved by @0xFFFF on RfidResearchGroup/proxmark3 and provided by @xilni, this commit adds the format into the official repo as well. As I don't have any of the cards available for testing, I have been unable to personally verify the format encodes/decodes as intended.
2018-09-14 06:32:29 -04:00
grauerfuchs
173ba1e1a2
Merge branch 'master' into master 2018-09-13 21:30:24 -04:00
merlokk
0c4750c3ba small fixes in helps 2018-09-13 19:58:26 +03:00
merlokk
02ab5afa87 add terminal decision to genac and small fixes 2018-09-13 19:53:14 +03:00
merlokk
48c32f0436 added CDA transaction to hf emv genac 2018-09-13 18:44:20 +03:00
merlokk
11a78e048c added intauth and genac commands. works. 2018-09-13 18:38:03 +03:00
merlokk
ad23886a6f small fix 2018-09-12 20:22:24 +03:00
merlokk
8ffdccffa0 hf emv challenge works 2018-09-12 20:20:27 +03:00
merlokk
ab2d91f86d hf emv readrec works and some changes in help 2018-09-12 20:08:16 +03:00
merlokk
cd2f1acd1b hf emv gpo works 2018-09-12 19:51:20 +03:00
merlokk
626e650fbf added new functions to hf emv 2018-09-11 17:02:22 +03:00
merlokk
a4662ca9f9 hf emv pse and sketch for the other commands 2018-09-11 16:11:58 +03:00
merlokk
24e0d538d1 delete old help 2018-09-11 14:58:15 +03:00
merlokk
7d4ba60e8e hf emv select some refactoring 2018-09-11 14:56:33 +03:00
merlokk
3668df05ec hf emv select 2018-09-11 14:49:50 +03:00
merlokk
6d31653c44 move hf emv search to argtable 2018-09-11 12:21:29 +03:00
AntiCat
1b902aa01a Legic Tag Simulator (#666)
* FPGA Hi-Simulate: Formatted code
* FPGA Hi-Simulate: Fixed documantation
* FPGA Hi-Simulate: Freed up 4 LUTs
* FPGA Hi-Simulate: Added 212kHz SSP-Clock option
* Legic: Moved card simulator into separate file & cleaned interface.
Reader and card simulation have almost no common code. Moreover the sim
uses an SSP Clock at 212kHz for all timings to prevent any drifting from
the PRNG. This clock speed is not available in reader simulation mode (SSP
runs at up to 3.4MHz, and changes speed between TX and RX). For these
reasons having the code in separate files makes it significantly cleaner.
* Legic: Implemented RX and TX for card simulation
* Legic: Implemented setup phase for card simulation
* Legic: Implemented read command for card simulation
* Legic: Implemented write command for card simulation
2018-09-09 16:40:20 +02:00
Oleg Moiseenko
6e3d8d671a implement argtable in hf 14a apdu (#490)
* added `hf 14a reader` to source and added functionality to exec empty commands
* added `hf 14a raw`
* added samples to command's help
* added some help
* added changelog
* update to new argtable3 --- https://github.com/argtable/argtable3
* changed included getopt to `https://github.com/freebsd/freebsd/blob/master/include/getopt.h` (getopt from freebsd with simplified BSD license)
2018-09-06 07:48:54 +02:00
grauerfuchs
be59094de9 lf hid improvements - encoding and long tag simulation
**DEVICE FIRMWARE UPDATE**
The code changes needed to support long tag emulation required an update to the device firmware. As of this patch, devices running older firmware will not be able to read or emulate HID tags until the firmware is updated. Additionally, devices with the firmware from this update or newer will not properly read or encode HID tags with a prior version client.

The 'lf hid encode' command has been further refined, and is now entirely parameterized to support use of fields other than facility code and card number. The client help data has been updated to show the correct syntax.
2018-08-30 21:01:21 -04:00
grauerfuchs
5d643cc033 lf hid: Added encode/decode support for Issue Level
Issue Level added to encode/decode support
By default, invalid parity will not show on decode (with option to show)
Added two new 36-bit formats including first format to use issue level
2018-08-28 13:34:21 -04:00
grauerfuchs
b5a5fc4d9f Redesign of lf hid card format handler as discussed with @marshmellow42
The new handler accepts multiple formats of the same length.
Because of this, the existing pack/unpack commands are unsupported
and have been removed and replaced with 'lf hid encode' and 'lf hid decode'.
The decode command will test a packed Prox ID against all programmed
formats and return results for all matching formats.
The encode command takes the parameter of format name instead of
bit length (as per the old pack command). Additionally, an 'lf hid write'
command has been added as a single-command combination of encode and clone.

To support easier addition of new formats, a library for handling card
fields has been added. This will allow direct access to the card bits,
to linear fields, and to non-linear (jumping) fields in a single line
of code without having to resort to managing bit positions or masks
on the underlying data. A number of new formats have been added as working
examples of the new support functions.
2018-08-27 14:03:46 -04:00
marshmellow42
d62f7bad20
Merge pull request #649 from grauerfuchs/master
client: lf hid - parity completed, native long-tag support in pack/unpack/clone
2018-08-22 11:21:50 -04:00
marshmellow42
43591e6464 Add Smartcard functions (RDV4.0) (#646)
* allow common makefile options-defines

* remove non-existing file references

* Uncomment lcd option (still) not enabled by default

use Makefile_Enabled_Options.common
to enable lcd if desired.

* Add Smartcard Functions

* add smartcard to menu + make get atr work

sc is now functioning as far as my limited knowledge takes me

* sc cleanup - add init to all sc commands...

because cmds won't work until the first init happens.  (multiple inits
don't appear to affect it negatively)

* default options to exclude Smartcard

for main repo

* update changelog
2018-08-21 05:08:49 +02:00
grauerfuchs
1ee624fe6a Adding native support for HID long-format
Removal of "l" flag for long writes; not needed anymore.
    Added HID Corporate 1000 48-bit format to known formats list
    Simulation not yet updated; need to modify ARM commands to support it
    Completed parity support on all included HID formats
2018-08-19 11:14:52 -04:00
pwpiwi
315e18e66c
ISO15693 device side improvements (#652)
* ISO15693 device side improvements
* increase accuracy by doubling the sample frequency (hi_read_rx_xcorr.v)
* adjust armsrc/iso15693.c and client/cmdhf15.c accordingly
* use more accurate approximation for sqrt(ci^2 + cq^2)
* improve EOF detection (was often mistaken for Logic0, resulting in "error, uneven octet! (extra bits!)")
* hi_read_r_xcorr.v: avoid overflows during accumulation and truncation
* explicitely cast unsigned ADC samples to signed
2018-08-15 14:03:20 +02:00
Oleg Moiseenko
c80eb8ba79 some cards need to have Le=0x00, some need to not have... (#651) 2018-08-14 10:15:51 +02:00
pwpiwi
472345daee
mod hw version: (#631)
* create fpga version info at compile time (by additional functionality in fpgacompress)
* remove hw version caching (prepare USB reconnect)
* fix calculation of available compressed bytes in fpga_loader.c
2018-08-05 18:15:03 +02:00
marshmellow42
5125e4263c allow common makefile options-defines (#635) 2018-08-05 18:13:44 +02:00
grauerfuchs
b6a04aff48
fix truncation issue on "lf t55 config" modulation
Fix for issue #637
2018-08-04 06:26:36 -04:00
Michael Farrell
ab20cc35b7 Adds lf hid pack and lf hid unpack offline commands. (#614)
* These are used to pack and unpack the bit length, facility code and card number from "short" HID Prox IDs.
* This also simplifies some repeated code that is used to parse hex digits in lfhid, and adds basic client-side validation to the `lf hid clone` and `lf hid sim` commands, for when an ID that is too long is entered.
* Implements parity checks/calculation for 26-bit H10301 cards.
* Adds links to useful resources for HID Prox cards.
* Adds an explicit warning about the lack of parities on non-26-bit cards.
* Changes all the examples to use 26-bit IDs that have a parity bit set.
2018-07-30 19:33:06 +02:00
Fl0-0
00349d8204 Fix Gcc 8 warnings (#632) 2018-07-26 17:17:11 +02:00
pwpiwi
b2e0ac5d3b fix: array index out of range in mfkeys.log (thanks to @TomHarkness) 2018-07-19 18:01:18 +02:00
Michael Farrell
577b1c27f5 Allow disabling unlink() with -DNO_UNLINK. (#625) 2018-07-09 09:49:03 +02:00
pwpiwi
44964fd181
Code cleanup (#616)
* coverity fixes (including a real bug in cmdhftopaz.c)
* Typo fix
* replace TRUE/FALSE by stdbool true/false
2018-06-13 08:13:20 +02:00
Michael Farrell
2bb7f7e327 Fixes a double-free issue in CloseProxmark: (#617)
- CloseProxmark now clears global state.

- CloseProxmark now checks for a non-null serial_port before calling uart_close, to avoid unintentional double-free'ing serial_port.

- main now calls CloseProxmark once.
2018-06-04 13:54:41 +02:00
pwpiwi
ad939de501
USB comms: part 4 towards @micolous PR #463
* make uart_communication(), storeCommand() and getCommand() static in comms.c
* move receiver thread creation and respective mutexes to comms.c
* add mutex and signal for tx buffer
* use comms.c for flasher as well
* remove comm functions from client/proxmark3.h
* this completes isolating all USB communication related functions in comms.c
* don't assume a port to be defined by a name. Change parameter in OpenProxmark() to void*
* comms.c: set sp and serial_port_name to NULL when offline
2018-06-03 14:25:20 +02:00
Dominic Celiano
803674b2d6 Added mifarePlus.lua script for communication with Mifare Plus. (#593)
Personalize MifarePlus EV1 cards
2018-05-28 21:32:48 +02:00
marshmellow42
e8924be8ba fix gui (plot) bugs (#604)
G keypress event would cause a crash if no data
Q keypress didn't work.

Thanks to @iceman1001 for identifying and providing the fixes.
2018-05-15 08:19:49 +02:00
pwpiwi
babca445ff
rework of GetFromBigBuf() (#597)
* this should fix crashes reported in issue #497
* don't allow receiver thread to write directly into arbitrary main thread's memory
* instead use cmdBuffer[] for CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K as well
* add timeout and warning options to GetFromBigBuf(), same as in WaitForResponseTimeoutW()
* move GetFromBigBuf() from data.c to comms.c
* remove data.c and data.h
2018-05-08 07:54:49 +02:00
marshmellow42
a468b4277a more graceful exit to lf search if no signal found 2018-05-04 23:54:01 -04:00
pwpiwi
818efbebb8
USB comms: part 3 towards @micolous PR#463
* change variable 'sp' from global to static
* move code to open and close USB port to comms.c (OpenProxmark() and CloseProxmark())
* change scope of USBCommandReceived() to static
* (flasher still unchanged)
2018-04-28 10:09:16 +02:00