1
0
mirror of https://github.com/Proxmark/proxmark3.git synced 2025-03-12 04:35:36 -07:00

168 Commits

Author SHA1 Message Date
Oleg Moiseenko
fdd9395d1a Ndef and MAD ()
* move mifare stuff to separate folder
* add mad and ndef
2019-03-19 07:51:10 +01:00
pwpiwi
1338d245c2
chip manufacturer and type identification: ()
* add more manufacturers
* refactor chipID decoding
* move to separate file taginfo.[ch]
2019-03-03 11:59:38 +01:00
pwpiwi
a9104f7e31
Add support for standard USB Smartcard Readers ()
* add PCSC interface (pcsc.c and pcsc.h)
* new command 'sc select' to choose an USB Smartcard Reader
* updated CI/.travis.yml accordingly
* remove TCK CRC check in i2c.c It is done in PrintATR() anyway
* Fix TCK CRC check in PrintATR()
* Add PCSC reader support to 'sc info'
2019-01-28 21:54:34 +01:00
pwpiwi
1511ea28a8
Add ROCA vulnerability test (RRG repository PR 76 by @merlokk) () 2019-01-21 19:26:54 +01:00
Oleg Moiseenko
0bb514502a Fido2 ()
* add tinycbor
* add client/fido
* add test file with options for fido2
* hf fido commands
* add changelog
2018-12-07 16:42:37 +01:00
Oleg Moiseenko
6b882a3918 Fido U2F complete ()
* add pkwrite
* asn1print
* asn1dump and CA
* added PrintAndLogEx for merge commits between repo easier than now
* changelog
2018-11-25 16:56:12 +01:00
Oleg Moiseenko
e0991f6aa7 Get rid of polarssl () 2018-11-23 19:03:46 +01:00
Oleg Moiseenko
700d868794 move from polarssl to mbedtls ()
* update polarssl to mbedtls
* fix a warning in armsrc/iso15693
* added random generator and ecdsa test
* added signature check to test
* move crypto lib to client directory
2018-11-19 09:02:38 +01:00
Oleg Moiseenko
39cc1c879e FIDO U2F NFC authenticators ()
* `hf fido` command
* detects FIDO tag
* add new commands for fido u2f
* added changelog
* added fido2 info
2018-11-17 20:22:21 +02:00
Oleg Moiseenko
c8a0f55031 Mfp read plain ()
* added aes-cmac-128
* aes-cmac added to cryptosystem. not works(
2018-10-26 19:18:53 +02:00
Oleg Moiseenko
ae3340a0fb Mfp commands ()
* add write perso from https://github.com/Proxmark/proxmark3/blob/master/client/scripts/mifarePlus.lua
* commit perso from https://github.com/Proxmark/proxmark3/blob/master/client/scripts/mifarePlus.lua#L184
* added errors https://github.com/Proxmark/proxmark3/blob/master/client/scripts/mifarePlus.lua#L91
* fix bug in CLIParamHexToBuf
* added init card command
* auth4 refactoring
* add changelog
2018-10-24 18:58:12 +02:00
Oleg Moiseenko
dc3e2acf33 mf plus info with detect sl mode () 2018-10-17 20:55:04 +02:00
Oleg Moiseenko
95b697f017 Emv scan ()
* added `hf emv scan` command and options
* add tlv tag save to json
* added tlv tree navigation
* added kernel id and moved some parts of code in ppse
* save gpo result
* added read records
* extract childs from tlv works
* added application data list
* added work with application data section
* flag --extract works
* refactoring: move json functions to emvjson.h/c
* added path.c to jansson
* refactoring: move ParamLoadFromJson
* refactoring: move defparams.json to tag-name-value structure
* refactoring and add key recovering
* added some codes to appdata list
* refactoring: process response format 1 from GPO
* added save mode
* added RID to app data
* add file name handling and small refactoring in argtable string processing
* added finalization logic to `emv scan` and option to remove hash checking in key recovery
2018-10-17 20:53:34 +02:00
AntiCat
b742ab8cc3 osx: fix annoying focus behaviour ()
OS X has a global menu bar and a per app dock icon. Therefore, all
GUI applications launched from a terminal will become focused - even
if they don’t show any windows. Thereby the terminal loses focus.

Since is it very annoying to re-focus the terminal after each proxmark
client launch, this change makes the client unfocusable during launch
and restores the regular behaviour when a window is created.
2018-10-08 07:20:21 +02:00
AntiCat
2a53731106 osx: disable app-nap during serial comm ()
Apple introduced app-nap with OS X 10.10. This feature
saves power by throttling apps running in background.
However, it also less accurate timers in systemcalls. In
our case a 30ms select timeout would take up to 10s.

This patch uses an API also added with 10.10 to disable
app-nap as long as the serial port is polled.
2018-10-08 07:15:29 +02:00
marshmellow42
161c40fb52
Merge branch 'master' into master 2018-09-18 22:12:11 -04:00
Oleg Moiseenko
556826b5d5 Added loading EMV transaction parameters from json file ()
* 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
grauerfuchs
173ba1e1a2
Merge branch 'master' into master 2018-09-13 21:30:24 -04:00
Oleg Moiseenko
6e3d8d671a implement argtable in hf 14a apdu ()
* 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
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
43591e6464 Add Smartcard functions (RDV4.0) ()
* 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
marshmellow42
5125e4263c allow common makefile options-defines () 2018-08-05 18:13:44 +02:00
pwpiwi
ad939de501
USB comms: part 4 towards @micolous PR
* 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
pwpiwi
babca445ff
rework of GetFromBigBuf() ()
* this should fix crashes reported in issue 
* 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
pwpiwi
f5ecd97b15
USB comm: prepare for @micolous change (PR#463) ()
* 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
merlokk
4f131b53ea added cmdhflist file 2018-02-09 17:37:31 +02:00
pwpiwi
757221f5d6 Remove reveng
(its license was not compatible with PM3 license, see issue )
2018-01-24 08:38:01 +01:00
Oleg Moiseenko
d03fb293bc Emv4 - more additions to hf emv exec
* added rsa polarssl and changed sha1 location to polarssl dir
* deleted old sha1
* added emv-tools pk files
* added polarrssl wrapper sketch to emv_tols
* added test command
* added crypto polarssl with sda test
* added crypto tests and crypto_polarssl sha logic
* added SDA,DDA,fDDA,CDA
2017-12-23 16:46:43 +01:00
pwpiwi
1ff75f168b fixing the fix: older shells don't know about &> 2017-12-06 09:25:10 +01:00
pwpiwi
c656c870ae fix: AVX512 detection 2017-12-05 08:25:10 +01:00
Oleg Moiseenko
3c5fce2ba7 Add: Emv first part of commands
* hf emv search
* hf emv pse
* hf emv select
* hf emv exec command - only part of functionality
2017-11-22 06:16:33 +01:00
merlokk
a2bb2735d5 TLV decoding works 2017-11-01 13:38:29 +02:00
merlokk
fe346768b3 added showing apdu response codes 2017-10-31 18:14:32 +02:00
pwpiwi
3851172d81 Revert "Comms refactor (prerequisite of libproxmark work) ()" ()
This reverts commit afdcb8c159a73aba95a017f1cfec98e8fa2b93c1.
2017-10-27 09:56:46 +02:00
Michael Farrell
afdcb8c159 Comms refactor (prerequisite of libproxmark work) ()
* Refactor the comms code only from PR#346, without comms_globals.h.
* OSX: Add note for example serial port
2017-10-26 21:54:27 +02:00
pwpiwi
f53eb07de0 Don't ignore environment variables CFLAGS and LDFLAGS
* they are be set by some build environments to find include and lib dirs
2017-09-26 18:06:51 +02:00
pwpiwi
de1e68d34b Fix detection of AVX512 support for Apple clang compiler 2017-09-12 09:09:15 +02:00
Fl0-0
a221bacd43 Fix gcc version detection (from iceman1001 fork), fix issue () 2017-08-27 12:08:48 +02:00
pwpiwi
930763e86d Use PolarSSL DES implementation (GPL 2 or later) for both client and firmware ()
to prevent licensing issues with ARM-Crypto-Lib (GPL 3 or later)
2017-08-22 10:04:47 +02:00
pwpiwi
6b758d652d Prevent using x86 SIMD compiler flags on aarch64 (ARM) architecture 2017-08-16 08:50:31 +02:00
Fl0-0
48d41dc320 Fix missing reference for PAC/Stanley 2017-07-14 17:45:09 +02:00
Michael Farrell
067bfc8b76 Refactoring uart interface ()
* uart: Major cleanups
- Adds documentation to the uart API.
- Fixes a buffer overflow issue in `uart_receive`, where the maximum parameter was ignored.
- Splits the maximum length and bytes recieved variables in `uart_receive`.
- Downsizes the receive buffer to the minimum required, saving 16MiB of RAM at runtime.
- Refactors the POSIX and Win32 implementations of uart into separate files.
- Removes the unused `uart_{get,set}_parity` functions, which were not implemented on Win32.
2017-07-05 20:22:02 +02:00
pwpiwi
7f9e4c257f hardnested: reduce disk space for tables (by > 700MBytes) and other minor changes
- compress tables
- minor changes to progress reporting
- free memory on aborts (@iceman1001)
2017-06-30 08:48:37 +02:00
pwpiwi
ec9c71129f Fix compile errors with MacOS ()
* Fix compile errors with MacOS
- _POSIX_C_SOURCE must not be defined for num_CPU()

* separate util_posix.c require changes in tools directory as well

* remove unnecessary self-include
2017-06-07 22:35:20 +02:00
marshmellow42
5dd5bfb268 attempt to fix compile error gcc lt 4.9 () 2017-06-07 07:36:22 +02:00
pwpiwi
af7a1f7004 fix compile errors on non-Intel CPUs:
- client/Makefile: don't compile for different SIMD instruction sets if non-Intel
- hardnested cores: provide non-SIMD versions of core functions
2017-06-06 18:38:07 +02:00
marshmellow42
c2ca50419d Merge pull request from pwpiwi/fix_QtThreads
fixing the crash on exit (issue )
2017-06-04 19:53:28 -04:00
pwpiwi
5acd195d0f fixing the crash on exit 2017-06-04 09:30:49 +02:00
pwpiwi
1985eb7cbd Fix client Makefile 2017-05-31 08:27:08 +02:00
pwpiwi
c48c4d7856 New: implementing hf mf hardnested
This implements the attack described in
	Carlo Meijer, Roel Verdult, "Ciphertext-only Cryptanalysis on Hardened
	Mifare Classic Cards" in Proceedings of the 22nd ACM SIGSAC Conference on
	Computer and Communications Security, 2015
It uses precomputed tables for many bitflip properties (not only two as in the paper)
and is therefore quite efficient. To prevent failing it doesn't do
differential analysis with several nonce bytes' Sum(a8) properties (each of them
may be wrongly guessed) - instead it concentrates on one nonce byte and tries all
Sum(a8) property guesses sequentially (ordered by probability). The brute force phase
makes use of aczid's bit sliced brute forcer (https://github.com/aczid/crypto1_bs).
Includes runtime CPU-detection to leverage modern (and old) SIMD instructions
with a single executable.
2017-05-31 07:30:56 +02:00