138 Commits

Author SHA1 Message Date
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) (#371)" (#450)
This reverts commit afdcb8c159a73aba95a017f1cfec98e8fa2b93c1.
2017-10-27 09:56:46 +02:00
Michael Farrell
afdcb8c159 Comms refactor (prerequisite of libproxmark work) (#371)
* 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 #386 (#388) 2017-08-27 12:08:48 +02:00
pwpiwi
930763e86d Use PolarSSL DES implementation (GPL 2 or later) for both client and firmware (#378)
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 (#341)
* 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 (#312)
* 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 (#306) 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 #302 from pwpiwi/fix_QtThreads
fixing the crash on exit (issue #284)
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
pwpiwi
f9e2c24b01 reenable build in old proxspace environment (#286)
* reenable build in old proxspace environment
(use -std=c++11 and -fPIC options for Qt5 only)

* fixing the fix...
2017-04-24 18:33:55 +02:00
marshmellow42
3fc4596f2c fix makefile to allow make of overlays.ui
to ui_overlays.h
add ui_overlays.h to .gitignore
should now compile to whatever qt version you have. (as long as it is
compatible with the overlays.ui file...)
2017-04-18 23:41:38 -04:00
marshmellow42
b760f0ffd8 cannot seem to get uic to work for ...
... different qt versions in the make file correctly...
so, make the ui_overlays.h file version generic.  maybe...
2017-04-15 13:40:49 -04:00
marshmellow42
27882d378b add uic make ui_overlays.h
to makefile
2017-04-14 10:31:00 -04:00
pwpiwi
8aee1b8418 avoid vast number of warnings with clang compiler 2017-04-11 07:05:22 +02:00
pwpiwi
3472ebe528 Compatibility fixes for Qt5 (#271)
* Compatibility fixes for Qt5
- make Qt detection in client/Makefile independent of OS
- added -std=c++11 and -fPIC as compiler options (required by some Qt versions, breaks compiling with old ProxSpace environment)
2017-04-11 06:58:20 +02:00
pwpiwi
fb9acd4588 Update/cleanup Makefiles (#265)
- add new target "make mfkey" to build mfkey32 and mfkey64
- include above when "make all"
- fix Qt detection for Kali Linux
- create and use dependency files when building client
- create client/lualibs/usb_cmd.lua from include/usb_cmd.h when building client
- add Windows *.exe files with "make tarbin"
- For the time being don't include Makefile.common in Makefile and client/Makefile
- set com3 as default flashing port for Windows (including mingw)
- remove static targets snooper and cli. Remove their sources as well.
2017-03-31 16:04:04 +02:00
marshmellow42
c3caf0409c add lf securakey
still unknown - checksum and how FC relates to printed FC/Code

also removed noralsy extra ST check (i was tired...)
2017-03-29 00:37:16 -04:00
marshmellow42
a9968da347 add jablotron+noralsy lf tag definitions/cmds
Thanks to @iceman1001 for most of the code.
Jablotron is complete
noralsy is mostly known - a few bits are still unknown.
2017-03-28 18:01:45 -04:00
marshmellow42
5bce72d5e3 split lf paradox/nexwatch into own files
see changelog.md for cli changes!
2017-03-27 18:04:20 -04:00
Iceman
d95878f802 Merge pull request #251 from marshmellow42/master
split fdx-b demod to its own file
2017-03-26 14:35:42 +02:00
marshmellow42
4db6f3bbb9 split fdx-b demod to its own file
added @iceman1001 s read/sim/clone commands for fdx--b
check changelog.md for cli changes!
2017-03-26 08:09:40 -04:00
Iceman
1ee7925609 Merge pull request #249 from pwpiwi/parity
Refactor parity functions
2017-03-26 08:28:43 +02:00
Iceman
fecfd86d3d Merge pull request #248 from marshmellow42/master
Split data askgproxiidemod to own file
2017-03-26 08:26:30 +02:00
pwpiwi
1f065e1dad Refactor parity functions
- get rid of __asm function in crapto1.h, use gcc builtin function instead
- make parity functions available in common directory
2017-03-25 22:03:17 +01:00
marshmellow42
946a84c35b Split data askgproxiidemod to own file
added lf gproxii read (from antenna)
fixed a few copy paste issues in the comments of some lf files
2017-03-25 15:51:31 -04:00
Iceman
edf751bb62 Merge pull request #245 from marshmellow42/master
split lf indala[cmd] to lf indala [cmd]
2017-03-25 07:28:53 +01:00
marshmellow42
0fb65a262b split lf indala[cmd] to lf indala [cmd]
see changelog.md for cli changes!
2017-03-24 19:18:33 -04:00
pwpiwi
4cb4b588c2 Deduplicate mfkey32 and mfkey64
- rename client/nonce2key.[ch] to mfkey.[ch]
- leave only main() wrapper in tools/mfkey
- add mfkey32 and mfkey64 to .gitignore
2017-03-23 18:38:17 +01:00
pwpiwi
7779d73c71 Code cleanup: Refactoring nonce2key
- include nonce2key() in mifarehost.c
- remove tools/nonce2key
- simplify mifare_autopwn.lua
2017-03-20 21:16:57 +01:00
pwpiwi
acf0582d53 Provide msclock() as Milliseconds timer for performance measures (#231)
- don't use clock(). It has different functionalities in Windows and Linux
- move sleep functions to util.h
2017-03-12 15:06:27 +01:00
pwpiwi
0ca9bc0e99 Upgrade crapto1 library to v3.3 (#232)
- fix standalone tools mfkey32, mfkey64 and nonce2key to use common crapto1 library
- fix compiler warnings in tools/mfkey/mfkey64.c and tools/nonce2key/nonce2key.c
- allow crapto1.c to compile on ARM hosts
- add @iceman1001's readme.txt to tools/mfkey
2017-03-12 15:05:54 +01:00
pwpiwi
33443e7caa Code cleanup: deduplicate crapto1 library (#228)
- merge the existing 4 crapto1 sources into common/crapto1
2017-03-09 11:12:50 +01:00
marshmellow42
8b6abef506 add iceman1001 s lf visa2000 commands
-reset my fork due to corruption - now add back in the lf visa
commands...
also adjusts lfdemod all detect clock functions to always return a
starting point of the clock detected ( for graphing purposes)
2017-03-07 08:48:16 -05:00
pwpiwi
c44c2f04d9 Fix some #defines
- Use -D_ISOC99_SOURCE instead of -D__USE_MINGW_ANSI_STDIO=1
- WIN32 is deprecated. Use _WIN32 instead
2017-03-06 19:55:23 +01:00
pwpiwi
4197a3f6ff Make LUA scripting work even if proxmark3 is called from arbitrary working directory
- add @gpakosz whereami library (https://github.com/gpakosz/whereami) in order to ...
- determine and set absolute paths for LUA scripts and LUA libraries
2017-02-23 18:37:34 +01:00
marshmellow42
e04475c421 Add @Iceman1001 s cotag read
also needed to include some of icemans timer additions.
2017-02-03 00:14:34 -05:00
marshmellow42
103c60ec7e flag needed for some compile environments
used for 'z' and 'l' in printf commands.
2017-01-30 23:13:22 -05:00
Iceman
d1057e7a21 Merge pull request #119 from marshmellow42/pm3+reveng
add reveng 1.30 source to PM3 for CRC calculations & searches
2016-10-08 19:18:14 +02:00
menshiyun
5bac3d9b3c fix client/Makefile 2016-09-25 14:32:06 +08:00