Commit graph

581 commits

Author SHA1 Message Date
Thomas Sutter 3b0447fbb3 Draft read without encryption 2019-10-24 08:44:20 +02:00
Thomas Sutter 1f7dd3e2a7 Add request response command for felica Mode. 2019-10-23 14:48:23 +02:00
Thomas Sutter 3f56116615 Add felica request service all nodes command.
Make style.
2019-10-22 17:03:54 +02:00
Thomas Sutter 6144e2d09b Add felica request service command.
Add cmd parser functions.
2019-10-22 15:56:05 +02:00
iceman1001 065a1b6848 chg: enforce PACKED on more structs 2019-10-17 22:32:09 +02:00
Philippe Teuwen 3fce47d023 Add hw tia to trigger a new Timing Interval Acquisition 2019-10-15 15:02:34 +02:00
iceman1001 76f7763893 motorola 2019-10-11 23:14:57 +02:00
iceman1001 371a0e3ee0 coverity 226308 2019-10-10 11:13:14 +02:00
iceman1001 07a23b202c coverity 226308 - fix logically dead code 2019-10-09 13:56:01 +02:00
Philippe Teuwen 86a47a3282 dangerous stuff... 2019-10-09 13:03:23 +02:00
Philippe Teuwen 3560cf5466 bootrom: remove deprecated CMD_SETUP_WRITE 2019-10-05 19:10:40 +02:00
Philippe Teuwen 42cb2a32e8 lf config alone shows current config 2019-10-03 22:11:16 +02:00
Philippe Teuwen df08e7970c fix divisor<>freq computations, add q to lf tune 2019-10-03 21:18:37 +02:00
Philippe Teuwen f29ad0fba2 macros for divisors and fix lf optimal freq display 2019-10-03 18:32:27 +02:00
mwalker33 40b1d3bea7 samples to skip (unint32_t)
Use unit32_t for all samples to skip
2019-09-30 19:22:26 +10:00
mwalker33 cf0d72e172 lf sniff offset
Added samples to skip to lf config
2019-09-29 10:43:01 +10:00
iceman1001 b2c24c8010 add - continuously measure LF antenna 2019-09-24 13:06:43 +02:00
Philippe Teuwen 11dcc4787d mfc magic: add some defines 2019-09-21 23:50:32 +02:00
iceman1001 e5c31886eb chg: 'lf io clone' - refactored, uses NG 2019-09-16 11:41:34 +02:00
iceman1001 4c08477ef7 chg: 'lf indala clone' - refactored , uses NG 2019-09-16 11:33:05 +02:00
Philippe Teuwen 59e66ce5fd lf hid sim: add support for long ID 2019-09-15 02:00:42 +02:00
Ludovic Rousseau a1852eaa4b Fix typos
Thanks to Debian lintian for the reports:
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 formated formatted
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 succesfully successfully
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 Skiped Skipped
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 standart standard
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 supress suppress
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 successfull successful
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 Succeded Succeeded
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 Overriden Overridden
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 aquire acquire
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 occured occurred
I: proxmark3: spelling-error-in-binary usr/bin/proxmark3 delimeter delimiter
2019-09-14 17:44:58 +02:00
iceman1001 a5bcecd05c wait define.. 2019-09-12 17:39:57 +02:00
Iceman 341703d9a7 chg: 'hf iclass sim' - better iClass protocol implementation 2019-09-11 13:09:08 +02:00
Philippe Teuwen 6385ee960f searchFile for firmwares 2019-09-09 19:55:27 +02:00
Iceman 01950bd962 chg more ansi color 2019-09-05 15:46:40 +02:00
Philippe Teuwen 43055ae6a7 searchFile for cmdscripts 2019-09-04 23:29:03 +02:00
Philippe Teuwen 4d31b2399b reintroduce PREFIX and use relative paths for finding share/ when installed, independently of PREFIX 2019-08-30 21:36:10 +02:00
Philippe Teuwen 2022df1068 make style 2019-08-30 10:45:52 +02:00
Philippe Teuwen 08a5de1f0e searchFile traces 2019-08-30 08:32:34 +02:00
Philippe Teuwen ca8aee33ea move iclass_dump.bin in resources/ 2019-08-30 01:23:10 +02:00
iceman1001 94f6a402e8 chg. prep for eload.. 2019-08-28 21:12:18 +02:00
Philippe Teuwen 8c26e07ceb use searchFile to find dictionaries 2019-08-23 22:08:36 +02:00
Philippe Teuwen 34a0fdb9d6 reorganize lua script dir defs 2019-08-23 22:07:45 +02:00
Philippe Teuwen c709ee7c10 rework PREFIX for future make install 2019-08-23 20:55:50 +02:00
Philippe Teuwen 595b8a1885 introduce PREFIX for pm3 system directory and move to common.h 2019-08-22 19:36:20 +02:00
Iceman c69d599a3f
Update protocols.h
From https://github.com/Proxmark/proxmark3/pull/855  (@pwpiwi)
2019-08-21 14:49:55 +02:00
Philippe Teuwen fdcc885aa9 Use /dev/tty on OSX rather than /dev/cu
See https://stackoverflow.com/questions/8632586/macos-whats-the-difference-between-dev-tty-and-dev-cu/8632603
2019-08-20 23:21:22 +02:00
Philippe Teuwen 847b6bcc33 remove tabs 2019-08-13 17:51:11 +02:00
cjbrigato 961f98c125 SPIFFS : FIXES FS corruption against high numbero f current losses, high number of files manipulation. FIXES LOG_BLOCK erasing handlers. FIXES Garbage Collector. Overall, SPIFFS should now be WAY MORE resilient to any form of misbehavior. In case of corrupted filesystem (should still be readable !), spamming 'mem spiffs check' from the client will ensure at least 2 new free 4k blocks each tile (if number of LOG_PAGE available is enough) and in the same pass will move/reorganize the LOG_PAGES of contextual blocks. Yiha 2019-08-13 17:39:48 +02:00
Philippe Teuwen d19754567d summer restructuring:
* .h include only the strict minimum for their own parsing
  * this forces all files to include explicitment their needs and not count on far streched dependencies
  * this helps Makefile to rebuild only the minimum
  * according to this rule, most standalone .h are now gone
  * big app.h is gone
  * remove seldom __cplusplus, if c++ happens, everything will have to be done properly anyway
* all unrequired include were removed
* split common/ into common/ (client+arm) and common_arm/ (os+bootloader)
  * bring zlib to common/
  * bring stuff not really/not yet used in common back to armsrc/ or client/
  * bring liblua into client/
  * bring uart into client/
  * move some portions of code around (dbprint, protocols,...)
* rename unused files into *_disabled.[ch] to make it explicit
* rename soft Uarts between 14a, 14b and iclass, so a standalone could use several without clash
* remove PrintAndLogDevice
* move deprecated-hid-flasher from client to tools
* Makefiles
  * treat deps in armsrc/ as in client/
  * client: stop on warning (-Werror), same as for armsrc/

Tested on:

* all standalone modes
* Linux
2019-08-11 21:42:01 +02:00
Philippe Teuwen d84a316b4c fix MCK, maths... facepalm 2019-08-07 14:55:29 +02:00
Philippe Teuwen bc28eb04e4 Revert 00350db and add waiting time extension request mechanism, see issue #265 2019-08-07 13:04:34 +02:00
Philippe Teuwen 12a0540d91 mf sim: add option to pass explicitly atqa/sak and reject explicitly unknown vals for option t 2019-08-07 01:32:37 +02:00
Philippe Teuwen 8b3159c83d Use more defines when using main clock or master clock 2019-08-06 13:40:08 +02:00
iceman1001 a90e5e1858 chg: legic cmds uses return macros.
chg: hf search started to use macros
2019-08-03 23:36:55 +02:00
Philippe Teuwen 60bfc37f35 remove more dummy cmds 2019-08-03 22:52:32 +02:00
Philippe Teuwen 25f358955b make hf search robust to various HF configurations 2019-08-03 22:14:12 +02:00
Philippe Teuwen 4a3fb3ccf1 split nfcbarcode from iso14443a 2019-08-03 22:14:12 +02:00
Philippe Teuwen a0a232a985 rename few CMD_* to get some less diversity 2019-08-03 19:48:02 +02:00
Philippe Teuwen cbf5c717f7 Remove unused CMD_* 2019-08-03 19:48:02 +02:00
Philippe Teuwen 865a7c3ad4 Add thinfilm simulation 2019-08-02 00:26:07 +02:00
iceman1001 fbff51c88d Add: hf thinfilm info - support to read and decode Kovio Thinfilm NCT tags 2019-08-01 09:39:33 -04:00
iceman1001 74288ad128 chg: hf topaz - got some love 2019-07-31 15:43:00 -04:00
Philippe Teuwen c6b8e199fd fix usart cmd descriptions 2019-07-28 21:08:50 +02:00
iceman1001 283060f962 chg: renaming a struct 2019-07-27 21:15:43 +02:00
mwalker33 b222161941
Merge branch 'master' into master 2019-07-25 20:12:00 +10:00
mwalker33 77d96ff3b7 Bug Fix Timing order
Timing for backward compatibility
2019-07-25 20:01:03 +10:00
Philippe Teuwen c0eb19acb1 remove tabs 2019-07-24 00:52:24 +02:00
Philippe Teuwen ac233a346a make style 2019-07-23 23:43:30 +02:00
Philippe Teuwen 11e5131604
Merge pull request #284 from mwalker33/master
T55x7 Downlink mode support added
2019-07-23 22:42:47 +02:00
Philippe Teuwen 9beabaabf5 make style 2019-07-23 21:33:52 +02:00
mwalker33 5de04f84e9 Restored * 8
Revert back to store and use the full value (*8) for the timing.
2019-07-23 20:12:05 +10:00
mwalker33 4e0e69ed63 Added T55 downlink mode support 2019-07-23 09:50:28 +10:00
cjbrigato 5c3676ad81 ADD: Early SPIFFS implementation see #257, UPDATE HF_COLIN accordingly 2019-07-22 22:56:06 +02:00
Philippe Teuwen daae890667 Bootrom & flasher changes:
* use macros for versions
* activate UNDERSTANDS_VERSION in bootrom
* fix missing break; bug in bootrom
* force flash_load to reject images > 256k if bootloader not up to date
* move logic from flasher to flash
2019-07-20 10:48:40 +02:00
slurdge 68aa9d631d Flasher support for versionning
Only bootrom with version > 1.0.0 will allow 512K writes
2019-07-20 10:47:24 +02:00
slurdge c056e56492 Add a version command to the bootloader (not activated yet) 2019-07-20 10:47:24 +02:00
merlokk bd8824a2f3 make style 2019-07-16 16:10:11 +03:00
Philippe Teuwen ed4289d462
Merge pull request #251 from merlokk/reorg_includes
added PACKED attribute for structures and reorganize include folder
2019-07-16 14:52:14 +02:00
merlokk 20d13d5509 added PACKED attribute for structures and reorganize include folder 2019-07-16 14:50:38 +03:00
Philippe Teuwen d8763509de Add 'hw standalone' to jump to standalone mode from command line or script 2019-07-15 22:31:19 +02:00
Philippe Teuwen 0ea7fa7784 buggy 'mem read' removed, 'mem save' renamed 'mem dump', can now display too 2019-07-15 12:57:20 +02:00
Philippe Teuwen 99d2ed224a Minor changes on bootloader chip info 2019-07-10 21:49:14 +02:00
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
iceman1001 53d5dc643f CHG: fiddled with the headerfiles... and makefile... Tried to make them behave nice. So it isnt a hell to add new functions from third-party (like des, aes etc)
Added a lot of #ifndef ,   extern C,
Move inside from ARMSRC -> THUMBS,  which made the compiled image smaller.. I don't know if it broke anything.
Moved MF_DBGLEVEL definitions into common.h
Moved print_result from util.c into appmain.c
Also split up some struct typedef  into header files so they could be reused in other code places.

''' danger '''  this might have broken stuff...
2017-01-25 00:33:03 +01:00
iceman1001 793c301250 syntax sugar 2017-01-21 11:26:37 +01:00
iceman1001 69784c3801 ADD: 'lf search' - added @marshmellow42 's hitag2 identification 2017-01-20 10:09:06 +01:00
iceman1001 0e8cabed8d ADD: "hf legic eload" - Load binary file to emulator memory. Use "h" for help text
ADD:  "hf legic esave" - Save emulator memory to binary file. Use "h" for help text
2016-10-06 19:13:23 +02:00
iceman1001 fabef615ec CHG: added addresize to legic select struct.
CHG: TIMER, it turns out the TC0, TC1 and TC2 is only 16bit.  So adjust to use two clocks to get a 32bit timer.
CHG: code clean up in legic device side.  consistency with variable names..
2016-09-29 17:43:39 +02:00
iceman1001 a39944216d CHG: a select_legic function with structs and stuff and 2016-09-29 12:23:09 +02:00
iceman1001 3e750be37c ADD: started to add a legic detection to "HF SEARCH" 2016-09-26 20:01:23 +02:00
iceman1001 ad5bc8cc8c In my attempts to make the LEGIC code better, its not working now. Timings if off.
CHG: switching to US clock.
CHG: better trace annotation for legic
CHG: Legic prng can now give a x bits in once.
2016-09-09 11:56:20 +02:00
iceman1001 c71c5ee156 ADD: started to add tracelog in legic
ADD: remake of legic codebase.
ADD: started with a annotation for LEGIC in 'hf list'
2016-09-02 16:25:54 +02:00
iceman1001 83dad64b91 ADD: some new usb commmands from EMV, and for LEGIC. 2016-07-28 21:16:02 +02:00
iceman1001 e7470660c2 ADD: added the nonce_struct needed for @marshmellow42 's enhanced "sim x" attack. 2016-07-07 02:14:03 +02:00
iceman1001 348c57a0af REM: rmove stdio.h reference to make it compile on Mac OS X 2016-05-09 08:12:43 +02:00
iceman1001 048324d63b DEL: removed the homebrews script. It needed a seperate gitproject.
CHG:  removed references to  stdio.h  and time.h  in ARMSRC.
2016-05-06 23:51:03 +02:00
iceman1001 ce211cef39 FIX: corrected the FLAG_NR_AR_ATTACK 2016-04-18 13:02:36 +02:00
iceman1001 0194ce8fc8 ADD: simulating can now handle triplesized UID (10b)
CHG: moved some mifare #DEFINES into protocols.h  (ACK,NACK..)
2016-04-14 11:09:17 +02:00
iceman1001 06eb3b1a8c coverity fixes for my latest changes.
Forgot some breaks in 7816 annotation, and  presco used an uninitalized char array.
2016-03-22 08:40:20 +01:00
iceman1001 6fc68747f6 ADD: well, starting with a luascript for reading calypso tags, made me remake the 14b raw command on client and device side. Sorry @marshmellow42 , but this one broke your "hf 14b info" implementation. I fixed the "hf 14b read" and the hf search. So not to bad, but still a bit broken. The 14b raw device side is now very similar to 14a raw. Which is good. There is a Standard 14b 0x050008 detection and STmicroelectronic 0x0600 detection on deviceside. This removes a lot of code client side.
I also made the SRi read functions better by combining them.   The demodulation / uart code should be the same as last summers changes.  The device side code can now be even smaller.
2016-03-20 19:33:07 +01:00
iceman1001 f2c2b174cd CHG: moved some #define into include\common.h (which is call by apps.h), so we have one place for them. Also changed them to CAPITAL.
ABS(),  MIN(), MAX()
2016-03-13 07:16:42 +01:00
iceman1001 aaa1a9a2dc CHG: Added calling clear bigbuff to zero out it also, instead of just "free" it.
ADD:  downloading the EML part from BigBuffer specially.
2016-03-12 09:03:28 +01:00
iceman1001 0db11b71ef ADD: Added the HitagS from @spenneb ref:https://events.ccc.de/congress/2015/Fahrplan/events/7166.html
PM3 Master PR: https://github.com/Proxmark/proxmark3/pull/167

Adjusted the ENUM names to fit in my fork.  We need a better namestandard for it.
2016-03-04 19:06:47 +01:00
iceman1001 c188b1b9b2 ADD: @go_tus simple bruteforce for t55xx, refactored a bit.
ADD: @pwpiwi 's implementation of Hardnested
2015-11-27 16:24:00 +01:00
iceman1001 94422fa23f ADD: @marshmellow42 's fixex and resetread t55x7 2015-11-02 20:46:17 +01:00
iceman1001 1d0ccbe04b ADD: added the "hf snoop" patch original from @Enio, rearranged by @Etmatrix.
ADD:  added the "t55x7" refactoring by @marshmellow42
2015-10-27 21:47:21 +01:00
iceman1001 9276e859a6 ADD: @marshmellows42 's fixes for "lf cmdread" and CHANGELOG.md
ADD:  Added the "lf t55x7 wakeup" command. It will send a pwd,  and leave the antenna on.
Process like:
1. lf t55x7 wakeup p 11223344
2. lf search

---
It is still not finished,  will work together with the "lf t55x7 commands" in next step when I figure out the process from the datasheets.
2015-10-20 19:00:02 +02:00
iceman1001 e98572a1e2 I just merged @marshmellow's branch "iclass" and that was a lot of new functionality. *great work*
Things like the ICLASS, tryDecryptWord,

--
My other stuff like default keys, some new Mifare EV1 commands 0x40, 0x43 for the logging annotation,  start of the T55x7 configblock helper functionality (ripped from Adam Lauries RFIdler code)
Changes to the PCF7931 functions written,  which has a lousy input check..
2015-10-07 23:00:46 +02:00
iceman1001 0de8e3874d A lot of changes...
.. ntag simulation stuff from @marshmellows branch "ntag/sim"
.. hf mf mifare fixes from @pwpivi.
.. hw status command
.. speedtest function from @pwpivi
.. Viking Functionalities,   (not a proper DEMOD, but a start)
.. GetCountUS  better precision from @pwpivi
.. bin2hex,  hex2bin  from @holiman

...
starting with getting the T55x7 CONFIGURATION_BLOCK for different clone situations. Ripped from Adam Lauries RFidler,   nothing working or finished..
...
Started working with the T55x7 read command with password actually performs a write block...  See Issue #136  https://github.com/Proxmark/proxmark3/issues/136    Not solved yet.

...
Started add SHA256..   not working yet..
2015-10-04 18:01:33 +02:00