Commit graph

407 commits

Author SHA1 Message Date
slurdge
4727ab96d7 Dynamic report of the chipID for flashing purposes 2019-07-10 21:11:20 +02:00
Victor
cb45313981 Add hitag2 write password auth 2019-07-09 23:00:57 +01:00
Philippe Teuwen
a55e597e36 make style 2019-06-07 21:40:33 +02:00
iceman1001
0288b452d4 comment 2019-06-06 14:57:38 +02:00
Philippe Teuwen
1a39ec3026 hf mf/mfu dbg => hw dbg 2019-06-06 11:31:47 +02:00
Philippe Teuwen
4761ea13f7 MF_DBGLEVEL => DBGLEVEL (pm3 side) 2019-06-06 10:05:09 +02:00
Philippe Teuwen
d7614684f8 Make sure standalone modes can be launched when connected on USB without client 2019-06-02 23:20:02 +02:00
Philippe Teuwen
77dea32120 text 2019-05-31 23:18:17 +02:00
Philippe Teuwen
0898c0c9d1 Fix FLASH_MEM_MAX_SIZE 2019-05-31 23:17:30 +02:00
iceman1001
cee2fc7a34 hf mf rdbl - uses NG 2019-05-28 13:20:56 -04:00
iceman1001
58bed70ad0 chg: hf 14a sim - uses NG 2019-05-26 15:00:49 -04:00
Philippe Teuwen
51e4df533e New button behaviour in bootloader mode:
- Keep button pressed when powering to force entering bootloader
  - Once in bootloader more, you can release the button
- When in bootloader mode (no matter how you entered that mode)
  - One button press to quit bootloader mode and boot main image
2019-05-26 17:48:30 +02:00
iceman1001
0d1438d156 chg: lf psksim - uses NG 2019-05-24 09:11:30 -04:00
iceman1001
e727fe5818 chf: lf asksim - uses NG 2019-05-24 07:06:08 -04:00
iceman1001
d32c4d5267 chg: resized flashmem offset for dictionaries to fit 2019-05-23 18:50:24 -04:00
iceman1001
c13e2f09a1 chg: lf simfsk\nlf paradox sim\nlf awid sim\n\lf ioprox sim\nlf pyramid sim - NG 2019-05-23 17:07:12 -04:00
iceman1001
9b85f80321 chg: the reconnect now works good on ubuntu and mingw (for me :))
chg: increased timeout for FPC from 170 -> 200.  Mingw seems slower.
2019-05-16 08:02:56 +02:00
Philippe Teuwen
8401eb4e14 Add usart btfactory 2019-05-15 02:15:19 +02:00
Philippe Teuwen
42d025d01a Slight rework of hw tune 2019-05-14 08:29:24 +02:00
Philippe Teuwen
c281f71f59 hf tune: group commands 2019-05-14 08:25:26 +02:00
Philippe Teuwen
7ed7a9de40 Rework hf tune to make it synchronous (needed for rdv4) 2019-05-14 00:37:03 +02:00
Philippe Teuwen
d05cd5ff2b Internal packet structs don't need to be packed, only the wired structs 2019-05-13 22:32:44 +02:00
iceman1001
d2a4ade2af chg: lf t55xx write - now uses NG frames. 2019-05-13 13:23:53 +02:00
Philippe Teuwen
3412e9d8c5 Capabilities versionning, would also detect platform struct pack issues 2019-05-10 19:00:18 +02:00
Philippe Teuwen
fa87266efc update new format doc 2019-05-10 08:37:52 +02:00
Philippe Teuwen
68e5b3c355 style 2019-05-08 01:35:51 +02:00
Philippe Teuwen
40480a49d8 compact capabilities 2019-05-08 00:15:39 +02:00
Philippe Teuwen
6401452eb6 remove hw_available_fpc_usart_btaddon 2019-05-08 00:06:12 +02:00
iceman1001
29a160c905 reconnect version2 yolo 2019-05-06 22:41:00 +02:00
Philippe Teuwen
6b5a0f8319 Rename and unguard CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K ans it's used more generally than LF 2019-05-04 23:56:59 +02:00
Philippe Teuwen
2497ec2eec More USB_CMD -> PM3_CMD 2019-05-04 11:36:35 +02:00
Philippe Teuwen
3176684f4a Add usart dev cmds & dynamic flash support capability 2019-05-03 22:30:17 +02:00
Philippe Teuwen
3605809073 Remove WITH_FLASH from common as it's used by client too 2019-05-01 23:43:08 +02:00
Philippe Teuwen
bc6d9f4074 pm3 report compiled capabilities 2019-05-01 17:19:37 +02:00
Philippe Teuwen
27f7057961 Rename few USB -> PM3 to avoid misleading interpretations 2019-04-30 21:10:11 +02:00
iceman1001
e1063e2836 chg: reconfigure uart timeouts when compiled for FPC and connecting over USB. 2019-04-30 12:57:44 +02:00
Philippe Teuwen
fc6be9fea4 Define USB_CMD_DATA_SIZE_MIX 2019-04-29 22:38:26 +02:00
Philippe Teuwen
e2e0b704c5 Several changes in the initial connection, see details:
* TestProxmark uses pingng
* New command CMD_CAPABILITIES to transmit capabilities from pm3 to host
* Use TestProxmark to retrieve capabilities with that new command
* CloseProxmark if TestProxmark fails
* Hide baudrate for USB and retrieve real baudrate from pm3 for BT
2019-04-27 02:46:20 +02:00
Philippe Teuwen
1c136c8fc6 Merge branch 'master' into experimental_varlen
* master:
  rework Dbprintf & add color support
  use color macros
  doc magic
  archive and fix hid-flasher
  update standalone readme
2019-04-26 10:48:28 +02:00
Philippe Teuwen
cb452c98ba rework Dbprintf & add color support 2019-04-26 10:36:06 +02:00
Philippe Teuwen
acc101ed37 doc magic 2019-04-26 08:29:21 +02:00
Philippe Teuwen
eababdd3ef Merge branch 'master' into experimental_varlen
* master:
  chg: 'hf mf sim' - textual
  fix:  warning on mingw64.   This offset is calculated, casting it to u32 should be fine.
  fix: https://github.com/RfidResearchGroup/proxmark3/issues/174 remove all offending code,  return 1.   Will only impact the speed of hardnested execution.
  fix again OSX
  fix https://github.com/RfidResearchGroup/proxmark3/issues/173
  used predefined constants, common types moved to common header files
  backward compatibility, on load converter for old mfu dump format
  loops for counters output
  UL/NTAG new dump file format. Added counters support, simulation
2019-04-25 20:05:04 +02:00
Philippe Teuwen
e453aff88c First adjustments for FPC BT link 2019-04-23 23:36:36 +02:00
Eloff
66ee8dc09e used predefined constants, common types moved to common header files 2019-04-23 21:14:20 +03:00
Philippe Teuwen
e4006a7563 doc errors 2019-04-20 10:34:54 +02:00
Philippe Teuwen
a7773b3395 Introduce reply_mix, to still get some varlen on old API 2019-04-20 03:17:19 +02:00
Philippe Teuwen
3bcf80bb34 Introduce SendCommandMIX, to still get some varlen on old API 2019-04-20 02:41:40 +02:00
Philippe Teuwen
a45238236d armsrc: put new frame parsing in common for usart (still usart_read_ng to do) 2019-04-20 01:47:50 +02:00
Philippe Teuwen
38fc6e2290 errors: cmdmain 2019-04-19 00:42:25 +02:00
Philippe Teuwen
dcfee8963b SendCommandOLD & errors: cmdflashmem 2019-04-18 23:26:12 +02:00
Philippe Teuwen
b860cc6eaf Rename MAGIC defines 2019-04-18 21:49:37 +02:00
Philippe Teuwen
9ff841efb2 CRC optional, replaced by magic on USB 2019-04-18 21:39:35 +02:00
Philippe Teuwen
482db05741 Rename few stuff for consistency 2019-04-18 12:49:51 +02:00
Philippe Teuwen
4e31c6110b Better Command structs 2019-04-18 00:12:52 +02:00
Philippe Teuwen
533667ea6d Better Reply structs 2019-04-17 23:44:48 +02:00
Philippe Teuwen
be15ad7fec Viva la revolucion 2019-04-17 21:30:01 +02:00
Philippe Teuwen
96843c3f47 New reply frames transmission (reception still to be done) 2019-04-16 23:15:23 +02:00
Philippe Teuwen
43608589e3 reduce crc size, change magic 2019-04-16 20:06:32 +02:00
Philippe Teuwen
44bbb7d2c7 new frame format, smaller and with crc. Some code simplified 2019-04-16 20:00:17 +02:00
Philippe Teuwen
34467b7550 Variable length frames, part1: USB Host -> Pm3 2019-04-16 10:01:08 +02:00
Philippe Teuwen
c10e47f8a9 More void, fixing "function declaration is not a prototype" [-Wstrict-prototypes] 2019-04-10 10:35:03 +02:00
osboxes.org
e703dcb8ad style 2019-04-10 09:49:42 +02:00
iceman1001
6c1b8f809e chg: update armside debug to fit with offical repo. 2019-04-10 08:42:00 +02:00
Philippe Teuwen
b666c27f3c
Merge branch 'master' into hf_mf_sim 2019-04-06 01:22:15 +02:00
Philippe Teuwen
26eb54b965 style 2019-04-06 01:00:54 +02:00
vratiskol
1c77185fb9 Merge remote-tracking branch 'upstream/master' into hf_mf_sim 2019-04-03 01:48:46 +02:00
Philippe Teuwen
64ce30c06c make style 2019-04-02 22:32:45 +02:00
Philippe Teuwen
21be6d4400 FPC: got RX working, got client over usart somehow working..., see detailed commit msg
* using WITH_FPC:
  * activate basic usart
  * no double buffer for now, no interrupt
  * usart_dataavailable/usart_readbuffer/usart_writebuffer, to demo it:
    * pm3 client over USB, minicom over usart
    * analyse a d 414243
* using WITH_FPC_HOST:
  * it implies WITH_FPC as it's based on it
  * control pm3 with client over usart
  * EXPERIMENTAL! still some frame desync issues
  * you can connect both from usart & USB with two pm3 clients
    * actually you *have* to connect USB for the moment because
      it's used to send debug messages about buggy usart... See Dbprintf_usb below
  * "sessions": msgs are directed to the latest client to have sent a cmd
  * Dbprintf_usb macro to send msgs to USB client to help debugging usart...
  * We now have an option to run client at different speed as usart is 115200:
    client/proxmark3 /dev/ttyUSB0 -b 115200
  * Consequently, argc,argv handling is a bit revamped, it was so messy...
  * USB and flashing are still at 460800, don't try flashing over usart yet ^^
2019-04-02 22:06:10 +02:00
vratiskol
8f11fcc193 Remove FLAG_RANDOM_NONCE 2019-03-27 22:35:11 +01:00
vratiskol
04c14d1931 Merge remote-tracking branch 'upstream/master' into hf_mf_sim 2019-03-25 15:51:21 +01:00
iceman1001
8ce361202c style - unused 2019-03-25 15:03:22 +01:00
iceman1001
0409fd1f4e style 2019-03-25 14:51:54 +01:00
vratiskol
3b06c9d8ee Merge remote-tracking branch 'upstream/master' into hf_mf_sim 2019-03-21 20:46:56 +01:00
iceman1001
ca9061bd32 changed byte_t -> uint8_t 2019-03-21 15:19:18 +01:00
vratiskol
c2c4aac7ff Merge remote-tracking branch 'upstream/master' into hf_mf_sim 2019-03-18 21:51:29 +01:00
iceman1001
d54f4bd46f value needs to be unsigned 2019-03-18 17:22:02 +01:00
vratiskol
cfe2b2797e Revert "Merge branch 'master' into hf_mf_sim"
This reverts commit cbea5d9d02, reversing
changes made to b66152feb2.
2019-03-15 21:45:00 +01:00
vratiskol
cbea5d9d02 Merge branch 'master' into hf_mf_sim 2019-03-15 21:17:44 +01:00
vratiskol
6a52b6074f Sync from Upstream 2019-03-15 21:17:07 +01:00
vratiskol
64c3ae8b34 hf mf sim 2019-03-15 21:04:25 +01:00
osboxes.org
9c2736d1eb spaces 2019-03-14 12:30:32 +01:00
iceman1001
a117f06380 chg: refactoring of hitag (@piwi)
chg:  refactoring of hitagS (@iceman)
2019-03-13 12:18:37 +01:00
Philippe Teuwen
d9308d912d fix: shifting signed 32-bit value by 31 bits is undefined behaviour 2019-03-13 00:07:40 +01:00
iceman1001
1d63258388 add: 'hf 14b raw' - added -t timeout option. see https://github.com/RfidResearchGroup/proxmark3/issues/125 2019-03-12 14:41:23 +01:00
iceman1001
35bc4a975e rename SNOOP -> SNIFF 2019-03-12 13:15:39 +01:00
Philippe Teuwen
1b2601a48a Add missing EOF LF 2019-03-12 00:12:26 +01:00
Philippe Teuwen
0373696662 make style 2019-03-10 00:00:59 +01:00
Philippe Teuwen
9502b54aa0 include: fix mix of spaces & tabs 2019-03-09 18:41:30 +01:00
iceman1001
29adb88f32 fix: use correct define 2019-03-09 11:49:56 +01:00
Philippe Teuwen
60f292b18e remove spurious spaces & tabs at end of lines 2019-03-09 08:59:13 +01:00
merlokk
3b21b17509 move mifare stuff to its folder 2019-02-21 19:15:46 +02:00
merlokk
cf21f046d8 arm side 2019-01-30 18:15:47 +02:00
merlokk
1b3d96ab2d add apdu chaining to arm side 2019-01-29 19:30:15 +02:00
iceman1001
f215ebef80 Refactored 'lf t55xx brute', split it up into two commands.
- lf t55xx brute  (tries bruteforcing a range of pwds
- lf t55xx chk    (uses dictionary file or RDV4 flashmem)

FIX: adjust lf sim (@marshmellow42)  see 7008cf9c15
"attempt to speed up the loops waiting for carrier signal to go high or low
by only checking for a halt (button press or usbpol) every 256th loop
iteration. some users were experiencing modulating reactions to be too slow.

ADD: 'lf t55xx chk'
It uses @marshmellows42 idea behind commit  (6178b085a0)
With calculating a baseline (read block0 32times and average the signal-ish) and sampling only 1024 signal data. The algo then proceeds to calc the average and keep track of the candidate which is given the most difference in signal data average value.    I do some squaring and shifting for this.
The candidate is then send back to client to be tested properly with  trymodulation like before.

This seems to work good on t55xx card which has a ASK configuration.

WORK-IN-PROGRESS
2019-01-11 14:46:27 +01:00
iceman1001
0dee369a58 FIX: 'hf tune' - now works... 2019-01-06 20:28:23 +01:00
iceman1001
0fb0c35308 CHG: 'mem load' - the possibility to upload default_iclass_keys.dic, default_keys.dic, default_pwd.dic to predefined flashmemory sections. These will be used in pwd / key checking algorithms on device.
CHG: 'script run read_pwd_mem.lua' - script now can print those uploaded dictionary files.

How to upload
pm3 --> mem load f default_iclass_keys i
pm3 --> mem load f default_keys m
pm3 --> mem load f default_pwd t

How to validate / view
PM3 -->scr run read_pwd_mem -o 237568 -k 8
pm3 -->scr run read_pwd_mem -o 241664 -k 6
pm3 -->scr run read_pwd_mem -o 245760 -k 4
2019-01-01 18:01:40 +01:00
merlokk
f32088e25c fix states and get rid of INS code in receive (that code checks by controller) 2018-12-18 14:33:28 +02:00
merlokk
1941b9ca8b sdd sc raw t0 2018-12-17 23:48:05 +02:00
Chris
73230c8d15 chg: 'trace list 7816' - missing command
chg: 'sc raw' - inverted select logic
2018-11-13 22:29:33 +01:00
Chris
dc67b5d7c9 chg: revert fpga_major mode in LF.
chg: 'lf t55xx deviceconfig'  - persistence to flashmem is now option with param P
2018-09-23 05:29:55 +02:00
Chris
ba2543b627 ADD: 'lf t55xx deviceconfig' - command that allows for setting t55xx timings via the client. If run on a RDV40, it also saves the config to flashmemory. This gives you option to have custom timings for your custom antenna in order for your RDV40 to work optimal against a t55xx tag and with your custom antenna. (@iceman) 2018-09-11 18:35:07 +02:00
Colin J. Brigato
c74dbb63b8 Pass 2; commit 2; 2018-09-06 05:24:50 +02:00
Chris
bacf8aff0f add: FPC connector skeleton usart. Not working but if will be a starting point for those who might want to help out with it. 2018-07-30 09:54:44 +02:00
Chris
714de99f82 chg: i2c fixes. all working.
chg: 'sc info'  now prints url to atr decoder.
chg: 'sc reader' has more options  A, S
2018-07-09 11:22:51 +02:00
Chris
79158c7360 chg; preparing for more cmds. 2018-07-06 00:24:04 +02:00
Chris
fca841122f chg: 'sc reader' - hooked up atr. 2018-07-05 16:32:10 +02:00
Chris
ee006c6a7b add: sc upgrade - beta test 2018-07-05 14:38:31 +02:00
Chris
44e300930f fix: sc upg 2018-07-05 11:22:43 +02:00
Chris
35b7989b1c chg: OR in values. 2018-07-02 18:54:12 +02:00
Chris
f4ef31c4be chg: OR in registry changes when setting LOW or HIGH instead of assigning. A nicer behavior not messing with previous set bits. 2018-06-23 06:41:51 +02:00
Chris
e5e990fd4f chg: adjustment to RDV40 gpios, since it make use of some previous used for other things.. 2018-06-23 06:40:01 +02:00
Chris
ddd9f4e0fd chg: preparation for smart card 2018-06-23 06:39:23 +02:00
Chris
5a22a72e9c chg: some preparations for iso15 refactor 2018-06-23 06:37:08 +02:00
iceman1001
6b7819276d add: 'mem info' - rudamentary support for new command. 2018-05-06 09:26:06 +02:00
iceman1001
021c0a1349 ADD: 'mem' commands. For RDV40 devices only.
If you don't have one,  comment out inside client/Makefile this line

CFLAGS += -DWITH_FLASH
2018-05-03 12:15:03 +02:00
iceman1001
f64e244823 chg: define 2018-04-20 19:48:13 +02:00
iceman1001
a615fd6a9e chg: smartcard , testing to use pwm clock instead of timer clock.
chg: added some comments
2018-04-16 19:58:49 +02:00
Colin J. Brigato
9147698e97 UPDATES HF_COLIN to current 2018-03-10 13:13:21 +01:00
iceman1001
802994d30a add: 'hf 14 antifuzz' - the outline for the new functionality which fuzzes the anticollision phase ISO 14443a. 2018-02-28 13:21:47 +01:00
iceman1001
180e3d4df9 chg: adaptations for global debug var to be accessible 2018-02-21 14:59:06 +01:00
iceman1001
d54c4d3e05 chg: SPI tests for flashmem on PA10. (aka pm3 evo) Peripheral B, fixed. 2018-02-20 12:03:11 +01:00
iceman1001
a21ab49f14 chg: moved flash mem config for spi into flashmem.c
chg:  fpgasendcommand,  now waits until command has been sent to fpga.
2018-02-18 10:35:36 +01:00
iceman1001
1709c1ce1a chg: flash_mem - hooked up client - device comms 2018-02-13 15:36:20 +01:00
iceman1001
0495e93b6d add: flash memory support 2018-02-13 14:12:28 +01:00
iceman1001
ad73af95c2 ADD: beginning to add SPI to access flash memory. 2018-02-13 11:41:23 +01:00
iceman1001
75d04307a1 chg: adapting some HF voltage readings. 2018-02-07 13:11:10 +01:00
iceman1001
b06579e0d5 chg: 'hf felica reader' the felica_select_card struct got more properties 2018-01-30 03:32:33 +01:00
iceman1001
bf25b1c9ba chg: crc16 got a compute_crc function 2018-01-30 03:31:11 +01:00
iceman1001
095b3af43b CHG: 'hf 15' - swapped crc impl to table based. 2018-01-29 15:55:56 +01:00
iceman1001
29c15b3480 cHG.. missing 2018-01-29 13:48:18 +01:00
iceman1001
3634327bef chg: code cleaning. 2017-12-21 12:42:32 +01:00
iceman1001
5eafdbf872 ADD: 'hf iclass check' - increased speed in check keys with new algo.
ADD: 'hf iclass' - trying to add the timeout-limits for commands in order to get a more stable iclass communication
2017-12-21 10:13:40 +01:00
iceman1001
e02e145fae draft for a Mifare classic NACK bug detection.
the idea is to have a statistically solid conclusion if tag does or does not have the NACK bug.

-in short, ref  https://github.com/iceman1001/proxmark3/issues/141
NACK bug;  when a tag responds with a NACK to a 8 byte nonce exchange during authentication when the bytes are wrong but the parity bits are correct.

This is a strong oracle which is used in the darkside attack.
2017-12-04 19:36:26 +01:00
iceman1001
4b63f940f1 CHG: FeliCa implemenation by @satsuoni 2017-10-20 20:27:44 +02:00
iceman1001
9757a8f078 ADD: some felica defines 2017-10-10 14:33:27 +02:00
iceman1001
b4a03581c2 CHG: adjustments to the USB reading part. 2017-10-05 15:55:08 +02:00
iceman1001
a4b4a1a9a2 FIX: iso-14443a RATS optional (piwi) 2017-10-01 22:06:06 +02:00
iceman1001
0f7241f4b3 FIX: found old thread on forum from 2010, saying this bitshifts are wrong.
ref:   http://www.proxmark.org/forum/viewtopic.php?id=643
2017-09-26 00:19:54 +02:00
iceman1001
b439c76c6e CHG: changed name on define. Its now called CMD_UPLOAD_SIM_SAMPLES_125K .. Since we upload to device. 2017-09-14 11:13:10 +02:00
iceman1001
94f70caa7a when you need to add too much changes at the same time...
fix: 'hf mf hardnested'  test cases doesn't need to verify key.
add: 'hf mf ' - collect nonces from classic tag.
chg: switch_off on armside,  a more unified way,  so we don't forget to turn of the antenna ...
chg:  renamed 'hf iclass snoop'  into 'hf iclass sniff'   in an attempt to make all sniff/snoop commands only SNIFF

chg: 'standalone' ->  starting the work of moving all standalone mods into a plugin kind of style, in its own folder.
2017-08-26 12:57:18 +02:00
iceman1001
f28da2da6e monster merge...
all those changes marshmellow did..  and more...
2017-07-30 09:17:48 +02:00
iceman1001
a8569849d6 part of monstermerge.. 2017-07-27 20:58:59 +02:00
iceman1001
f942e1ed05 ADD: CRC8Mad() should be used to calc the crc-8 byte for Mifare MAD config block. Doesn't work of course...
CHG: some T/F defines..
2017-07-27 09:31:23 +02:00
angelsl
ece631fd06 Add Mifare Classic EV1 set load modulation command 2017-03-09 21:37:16 +08:00
iceman1001
99136c6eef CHG: finalized the merge between peter filmoores 14atagfuzz branch (emv). I seriously doubt anything works. 2017-03-01 21:51:23 +01:00
iceman1001
52108cabf3 CHG: 'lf cotag read' - added the raw output and the repeating byte pattern is 16bytes, so we only collect that many bytes from card 2017-02-03 00:07:55 +01:00
iceman1001
a330987de1 CHG: 'lf cotag demod' - now finds FC/CN Thanks to @marshmellow42
CHG:  'lf search' - now detects COTAG
2017-02-02 19:15:36 +01:00
iceman1001
84bdbc1917 FIX: 'hf 14a sim x' - adjusted and shows messages when verbose.
FIX: 'hf mf sim x i' - same as above.

In general we only use Moebius attack for "sim x",  that means a clean up on device side code. simpler to understand. It still tries to gather 8 different collections of nonces combo. When one is complete, it get sent to client which runs moebius direct.
2017-01-29 23:09:23 +01:00
iceman1001
4653da4331 ADD: lf cotag - added first try at basic functionality to read samples from Cotag. In lfops.c is the startup sequence that needs to be tested out. 2017-01-27 10:49:34 +01:00
iceman1001
bf5d7992ce ADD: @micolous random nonce, adjusted to fit in. Icemanfork only uses Moebius attack, so no need for an extra parameter in client.
ref: https://github.com/Proxmark/proxmark3/pull/209
2017-01-26 14:21:51 +01:00