Commit graph

2150 commits

Author SHA1 Message Date
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
Oleg Moiseenko f3c8131a0d update travis config (#662) 2018-09-06 07:38:38 +02: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
AntiCat f684231796 Legic: fixed write (#655)
Due to an oversight the bytes to be written were fetched
from the wrong location. This is fixed now.
2018-08-21 05:08:06 +02:00
AntiCat da05bc6eca Legic: rewrite reader to use xcorrelation and precise timing (#654)
* Legic: rewrite reader to use xcorrelation and precise timing
 - Even tough Legic tags transmit just AM, receiving using
   xcorrelation results in a significantly better signal
   quality.
 - Switching from bit bang to a hardware based ssc frees
   up CPU time for other tasks e.g. prng and demodulation
 - Having all times based on a fixed ts, results in perfect
   rwd-tag synchronization without magic +/- calculations.
* hi_read_tx: remove jerry-riged hysteresis based receiver
- This feature got obsolete by a x-correlation based receiver.
* Legic: adjusted sampling to new ssp clock speed
- Sampling is 4 times faster and pipeline daly reduced to 1/4.
 The new code samples each bit earyler to account for the
 shorter pipeline. That introduced bit errors by leeking the
 next bit into the current one.
* Legic: average 8 samples for better noise rejection.
* Update CHANGELOG.md
2018-08-20 22:29:34 +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
AntiCat 8ff31e935d fix: 32bit tick timer based on TC0 and TC1 (#653)
TC1 counts the number of TC0 overflows (carry bits).
In random conditions TC1 would return or stay at zero,
instead of counting up. This due to the behavior of the
reset signal.

SAM7S Series Datasheet, 33.5.6 Trigger:
Regardless of the trigger used, it will be taken into account
at the following active edge of the selected clock. This means
that the counter value can be read differently from zero just
after a trigger, especially when a low frequency signal is
selected as the clock.

The new code first prepares TC1 and asserts TC1 trigger and
then prepares TC0 and asserts TC0 trigger. The TC0 start-up
will reset TC1.
2018-08-14 09:24:02 +02:00
Fl0-0 6a0915eac2 Bootrom version fix + .gitignore (#645)
* Fix bootrom Makefile

* Add armsrc/fpga_version_info.c to .gitignore
2018-08-07 09:23:11 +02:00
marshmellow42 dfdca20c6c fix option comments to be more clear 2018-08-06 07:39:39 -04:00
marshmellow42 a2937cea8d Separate WITH_LF and WITH_LF_StandAlone 2018-08-06 07:27:37 -04: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
marshmellow42 f366aea3e1
Merge pull request #638 from grauerfuchs/master
fix truncation issue on "lf t55 config d"
2018-08-04 07:43:27 -04: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
pwpiwi 913a54a86a
save 2.3K flash-memory by avoiding a single floating point operation (#630) 2018-07-26 17:18:10 +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
stuiterveer fdee1ffa84 Ignore DS_Store (#620)
Prevent further commits containing DS_Store files
2018-06-20 06:34:00 +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
Fl0-0 9b4661c53b Delete .DS_Store (#613)
Mac hidden file accidentally merged in PR #593.
2018-05-29 18:05:32 +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 0000a4cda2
fix HitagS simulation erors (issue #605) (#606) 2018-05-11 05:24:02 +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
Iceman 03cdcca03f
Merge pull request #600 from marshmellow42/master
more graceful exit to lf search if no signal found
2018-05-05 06:59:39 +02:00
marshmellow42 a468b4277a more graceful exit to lf search if no signal found 2018-05-04 23:54:01 -04:00
pwpiwi e475fce44d
Update CHANGELOG.md 2018-05-04 08:25:08 +02:00
pwpiwi dbac9ffb40
Change driver file proxmark3.inf to support both old and new Vendor/Product IDs
(see http://www.proxmark.org/forum/viewtopic.php?pid=32072#p32072)
2018-05-04 08:19:37 +02:00
marshmellow42 854fdf15e0 fix bug if -DWITH_ISO14443a_StandAlone is removed from makefile (#598) 2018-05-03 19:36:51 +02: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
pwpiwi 61aaee35cc
USB comms: part 2 towards @micolous PR#463 (#595)
* change variable 'offline' from global to static
* change variable 'FlushAfterWrite' from global to static
* remove unused global variable 'current_command'
* WaitForResponseTimeoutW(CMD_UNKNOWN, ...) waits for any command
* #include "printf.h" or <stdio.h> in iso15693tools.c to define sprintf()
* and some minor changes/comments
2018-04-24 08:27:29 +02:00
Tom Harkness e069547c27 Fix for swapped parity when using lf_bulk_program.lua (#591) 2018-04-03 08:14:51 +02:00
pwpiwi f5ecd97b15
USB comm: prepare for @micolous change (PR#463) (#587)
* move communication related code from proxmark3.c and cmdmain.c to new file comms.c
* replace byte_t by uint8_t in uart_posix.c and uart_win32.c
* move OpenProxmark() and CloseProxmark() from flasher.c to flash.c
* move print_lock mutex including initializer to ui.c
* minor changes in printing help texts
* no changes in comms functionality yet
2018-03-31 09:52:43 +02:00
pwpiwi 3bcc4d77e1
add: save and load options in hf list (#577) 2018-03-30 17:55:41 +02:00
AnthraX1 53c7a7053d Fix empty key list bug in mfkeys.lua (#579)
When input key list size is greater than 85, table.concat() returns empty because the last parameter is the end offset not the increment value.
2018-03-30 17:54:45 +02:00
pwpiwi 3316fc1d11
Merge pull request #589 from Proxmark/revert-588-indala-preamble-fix
Revert "Fix offset Indala UID display"
2018-03-28 14:58:46 +02:00
marshmellow42 7ecf7cf6cc
Revert "Fix offset Indala UID display" 2018-03-28 08:50:08 -04:00
Iceman 6c7a3bd7ce
Merge pull request #588 from megabug/indala-preamble-fix
Fix offset Indala UID display
2018-03-28 13:10:33 +02:00
Matthew Daley b05611a30b Fix offset Indala UID display
Commit 1dae9811f2 extended the amount of
fixed bits searched for when decoding 64-bit Indala. These additional
bits come from the end of one UID, and therefore need to be skipped past
when actually retrieving the UID.
2018-03-28 23:43:57 +13:00
James Chambers b24930c764 mfu read block: retry block with bad CRC (#584)
* mfu read block: retry block with bad CRC, command timeout, or unknown response.
2018-03-23 20:26:30 +01:00
Michael Farrell a5a830168f OSX: Multiple libedit/readline fixes (#585)
* OSX: Multiple libedit/readline fixes.
2018-03-21 16:05:03 +01:00
W8M2Hg9lLmWqXSGC 51d51c6782
Merge pull request #580 from Proxmark/iceman1001-patch-1
Update README.md
2018-02-26 17:25:21 +11:00