Commit graph

598 commits

Author SHA1 Message Date
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 bc28eb04e4 Revert 00350db and add waiting time extension request mechanism, see issue #265 2019-08-07 13:04:34 +02:00
Philippe Teuwen 9b44590f8d make style 2019-08-07 13:04:26 +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 1354aec556 typos 2019-08-06 13:51:10 +02:00
Philippe Teuwen c74028fa10 show slow clock in hw status 2019-08-06 13:42:17 +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 96ed907605 Fix momentarily flash read/write of dicts 2019-08-02 20:48:44 +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
Philippe Teuwen c83ff9da0f make style 2019-07-28 19:24:00 +02:00
iceman1001 283060f962 chg: renaming a struct 2019-07-27 21:15:43 +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 7f57879e45 typo 2019-07-23 21:48:09 +02:00
Philippe Teuwen 9beabaabf5 make style 2019-07-23 21:33:52 +02: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 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 b0dbbd3683 make style 2019-07-13 00:38:30 +02:00
Philippe Teuwen aab0558a58 minor txt alignments 2019-07-09 22:49:57 +02:00
slurdge 71b70f4ffb Add compiler info for proxmark3 armsrc 2019-07-09 22:35:23 +02:00
iceman1001 17f97abfcb fix: spurious chars because strlen doesnt count ending zero 2019-06-30 04:18:03 -04:00
Philippe Teuwen 5eeb356418 appmain switch unified style, avoid few shadowed vars as well 2019-06-07 21:39:45 +02:00
Philippe Teuwen 732bc766f9 Reduce some var scopes 2019-06-07 18:41:39 +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
iceman1001 d87daf8b76 fix: 'mem load' - wrong offsets erased for dictionaries (MF/ICLASS) 2019-05-31 17:15:54 +02:00
iceman1001 d5c45a7368 fix: 'mem load' - erased wrong offsets for dictionaries MF/ICLASS. 2019-05-31 17:14:57 +02:00
iceman1001 cee2fc7a34 hf mf rdbl - uses NG 2019-05-28 13:20:56 -04:00
iceman1001 74fb740c21 fix: lf em 4x05 - use correct paritytest (@marshmellow)\nchg: lf em 4x05_read\n chg: lf em 4x05_write - uses NG 2019-05-28 05:15:12 -04:00
iceman1001 53f2058c7a chf: hf mf eget\nhf mf eset\nhf mf eclr - uses NG 2019-05-27 07:46:27 -04:00
iceman1001 58bed70ad0 chg: hf 14a sim - uses NG 2019-05-26 15:00:49 -04:00
iceman1001 b05796c7c4 chg: hf mf dbg\nchg: hf mf sim\nchg: hf 14a sim - uses NG 2019-05-26 13:42:27 -04: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 ed9a5e6d6f chg: textual 2019-05-23 18:31:56 -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
Philippe Teuwen 270afb89aa Trying C99 dyn structs as suggested by @iceman 2019-05-23 20:43:42 +02:00
iceman1001 263d662783 chg: lf fsksim - uses NG 2019-05-23 13:16:06 -04:00
iceman1001 0564931450 fix: lf sim - if called with empty graphbuffer all strange things happend, like turning on HF field 2019-05-23 10:51:19 -04:00
iceman1001 f8dbf6138a fix: lf sim - dont forget to PACK your structs on both sides\n chg: data convertbitstream - converts bit to max/min in order to facilitate demodulation of simulation data 2019-05-23 06:12:20 -04:00
Philippe Teuwen 522297896c Use GetTickCountDelta everywhere 2019-05-23 00:39:50 +02:00
Philippe Teuwen e0c9e2b0d1 rework usart RX timings 2019-05-22 23:30:52 +02:00
iceman1001 794d109f30 chg: lf t55 - fixes / read block uses NG 2019-05-22 11:59:39 -04:00
iceman1001 ad394a2d6b chg: lf em 410x_sim - reworked to NG\n chg: lf em 410x_demod - now can demod the simulation data. 2019-05-22 08:32:30 -04:00
iceman1001 178c922218 chg: lf read - now uses NG 2019-05-20 10:48:51 -04:00
iceman1001 d7f1ab2175 chg: lf cmdread - now uses NG 2019-05-20 09:15:45 -04:00
iceman1001 983e63d82f hw commands - uses NG 2019-05-20 04:28:34 -04:00
iceman1001 d4c3d07701 fix: failed compilation without btaddon option (@merlokk) 2019-05-15 16:56:54 +02:00
iceman1001 65ff4f0e92 chg: hf mf setmod - uses NG 2019-05-15 06:52:22 -04:00
Philippe Teuwen 8401eb4e14 Add usart btfactory 2019-05-15 02:15:19 +02:00
iceman1001 63cf6be691 guarded 2019-05-14 16:20:34 -04:00
iceman1001 a988c8ffef chg: hw status - now prints number of dictionary keys loaded. Dont print if zero/default empty 0xffff 2019-05-14 14:57:56 -04: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 1e345b1356 remove unused arg from MifareAcquireNonces 2019-05-13 13:31:24 +02:00
iceman1001 d2a4ade2af chg: lf t55xx write - now uses NG frames. 2019-05-13 13:23:53 +02:00
Philippe Teuwen 09afadc965 Remove unused args in some MF cmds 2019-05-13 12:49:41 +02:00
Philippe Teuwen 1edf4e1ef2 remove unused args in MifareEMemClr 2019-05-13 12:30:27 +02:00
Philippe Teuwen f85420d6f3 Remove unused oldarg in SniffHitag 2019-05-13 12:27:00 +02:00
Philippe Teuwen 20f7b2f3ec Remove support for old in MifareChkKeys, not needed anymore 2019-05-13 12:25:11 +02:00
iceman1001 afabd59995 FIX: leftover residue from sending different packages OLD/MIX/NG, is now cleaned before. 2019-05-13 09:39:43 +02:00
Philippe Teuwen 3412e9d8c5 Capabilities versionning, would also detect platform struct pack issues 2019-05-10 19:00:18 +02:00
Philippe Teuwen 2c10482279 all LF sim: client waits till button pressed 2019-05-09 00:08:59 +02:00
Philippe Teuwen 68e5b3c355 style 2019-05-08 01:35:51 +02:00
Philippe Teuwen 6401452eb6 remove hw_available_fpc_usart_btaddon 2019-05-08 00:06:12 +02:00
Philippe Teuwen 02ea378e38 Wow, two improbable bugs were cancelling each other 2019-05-08 00:02:08 +02:00
Philippe Teuwen 2f1061f95b rework ping 2019-05-07 23:35:09 +02:00
iceman1001 f60977695a cleaning up 2019-05-07 14:41:20 +02:00
iceman1001 86aa593b1b chg: use dynamic arrays. 2019-05-07 09:37:43 +02:00
Philippe Teuwen 43833cc9ac faster connection speed test and rename USB->Conn 2019-05-05 00:02:33 +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 3176684f4a Add usart dev cmds & dynamic flash support capability 2019-05-03 22:30:17 +02:00
Philippe Teuwen b723126deb Make smartcard support detection dynamic 2019-05-03 09:04:28 +02:00
Philippe Teuwen f33d0bf206 hw tune: block client till button pressed 2019-05-03 08:40:21 +02:00
Philippe Teuwen d1c6f12aff protect CMD_UPLOAD_SIM_SAMPLES_125K by WITH_LF 2019-05-02 00:06:10 +02:00
Philippe Teuwen bc6d9f4074 pm3 report compiled capabilities 2019-05-01 17:19:37 +02:00
Philippe Teuwen 9d261adfb1 Reduce BUSY_TIMEOUT and handles FPC/FLASH FW more gracefully on non-RDV4 pm3 2019-05-01 16:48:04 +02:00
Philippe Teuwen 63cd4a9fbb Merge branch 'better_color_handling'
* better_color_handling:
  Remove cmd_debug from flasher, we've COMMS_DEBUG_RAW if needed
  Use PrintAndLogEx in flasher
  Simplify color & banner logic
  Smart color handling:
2019-04-30 21:37:19 +02:00
Philippe Teuwen 27f7057961 Rename few USB -> PM3 to avoid misleading interpretations 2019-04-30 21:10:11 +02:00
Philippe Teuwen 0a4b90ac20 Simplify color & banner logic 2019-04-30 13:02:27 +02:00
Philippe Teuwen 56f92348ea style 2019-04-29 22:41:28 +02:00
iceman1001 7454a4dcf2 chg: 'hf mf chkkeys' - now uses NG 2019-04-29 02:07:40 +02:00
iceman1001 a5ba5a99e8 forgot FLAGS... 2019-04-28 18:48:59 +02:00
iceman1001 ab6870c573 style 2019-04-28 11:08:41 +02:00
iceman1001 d47efa8547 fix uninitialized 2019-04-27 12:01:22 +02:00
iceman1001 5f831ee776 chg: 'hw detectreader' - clean up 2019-04-27 11:09:20 +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 e9bfc3eb7a Merge branch 'master' into experimental_varlen
* master:
  rename usb_present
  TestProxmark only if OpenProxmark returned pm3 present
  Trying original SPI mode for 24MHz flash mem
  text
2019-04-26 23:30:30 +02:00
iceman1001 87eee0cf5c text 2019-04-26 13:07:45 +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 9e39d6ffc3 new light scheme for detectreader 2019-04-26 01:37:17 +02:00
Philippe Teuwen 540fecb760 Merge branch 'master' into experimental_varlen
* master:
  adjust standalone doc
  Use placeholder for standalone mode if needed
  Move compile options to Makefile.hal
  textual
  chg: refactor standalone mode info string add: icerun - skeleton standalone mode for ppl to use as base for their new modes.
2019-04-25 23:01:49 +02:00
Philippe Teuwen c616f47d6b Use placeholder for standalone mode if needed 2019-04-25 22:40:46 +02:00
Philippe Teuwen 5d6f2c641b Merge branch 'master' of github.com:RfidResearchGroup/proxmark3
* 'master' of github.com:RfidResearchGroup/proxmark3:
  textual
  chg: refactor standalone mode info string add: icerun - skeleton standalone mode for ppl to use as base for their new modes.
2019-04-25 22:25:10 +02:00
Philippe Teuwen f3b3508d3e Move compile options to Makefile.hal 2019-04-25 22:15:16 +02:00
iceman1001 7220653ccd chg: refactor standalone mode info string
add: icerun - skeleton standalone mode for ppl to use as base for their new modes.
2019-04-25 21:44:34 +02:00
iceman1001 df96b58fcc style 2019-04-25 17:06:40 +02:00
Philippe Teuwen 4b5800d78f remove name 2019-04-24 15:57:24 +02:00
Philippe Teuwen b0eef756c1 return PM3_SUCCESS on usart_writebuffer_sync, usb_write 2019-04-22 23:03:01 +02:00
Philippe Teuwen f29facd15a Harmonize usb_write & usart_writebuffer_sync return values 2019-04-22 02:28:58 +02:00
Philippe Teuwen a9bb465271 reply_xx return val is int16_t, not bool 2019-04-22 02:10:31 +02:00
Philippe Teuwen eebea8c088 DbpStringEx using reply_ng 2019-04-22 01:33:32 +02:00
Philippe Teuwen cdd4177968 usart_writebuffer_sync simplified as we're always sending in blocking mode anyway 2019-04-22 00:30:01 +02:00
Philippe Teuwen 81780e5c98 DbpStringEx using now reply_mix. hw status at 9600: from 26.5s to 7s 2019-04-21 23:58:53 +02:00
Philippe Teuwen a2e55be468 new format doc 2019-04-21 17:34:56 +02:00
Philippe Teuwen 6e744043f5 usart working... when debugged... 2019-04-21 00:44:19 +02: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 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 8c89b35f1e style 2019-04-18 21:41:48 +02:00
Philippe Teuwen 9ff841efb2 CRC optional, replaced by magic on USB 2019-04-18 21:39:35 +02:00
Eloff 960b21793c 'hf mf sim' full-byte anti-collision frame support 2019-04-18 21:02:48 +03:00
Philippe Teuwen 482db05741 Rename few stuff for consistency 2019-04-18 12:49:51 +02:00
Philippe Teuwen 15558070ad Fix receive_ng returned val test 2019-04-18 10:41:11 +02:00
Philippe Teuwen cb411ffab4 receive_ng in common/ 2019-04-18 00:50:31 +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 64eb93c9c4 style 2019-04-17 22:08:10 +02:00
Philippe Teuwen be15ad7fec Viva la revolucion 2019-04-17 21:30:01 +02:00
Philippe Teuwen 8bfc5c1b47 New reply frames reception 2019-04-17 01:06:26 +02:00
Philippe Teuwen 96843c3f47 New reply frames transmission (reception still to be done) 2019-04-16 23:15:23 +02:00
Philippe Teuwen 8b99df9074 Merge branch 'master' into experimental_varlen2
* master: (33 commits)
  unified Proxmark3 text
  removed
  more colors
  rearranged banner output and messages
  textual
  revert
  revert
  revert
  style spaces
  fix fake com port
  style
  style
  styles
  not null?
  style
  style
  style
  style
  style
  style
  ...
2019-04-16 20:58:58 +02:00
Philippe Teuwen 83571f02a0 style 2019-04-16 20:49:32 +02:00
Philippe Teuwen 44bbb7d2c7 new frame format, smaller and with crc. Some code simplified 2019-04-16 20:00:17 +02:00
iceman1001 e04e2d6fa7 revert 2019-04-16 17:02:21 +02:00
iceman1001 64c7ee117e revert 2019-04-16 17:00:18 +02:00
iceman1001 aaedeafbb1 style spaces 2019-04-16 16:56:56 +02:00
Philippe Teuwen 34467b7550 Variable length frames, part1: USB Host -> Pm3 2019-04-16 10:01:08 +02:00
Philippe Teuwen 04c0384d3e Testing pm3 communication 2019-04-14 17:25:17 +02:00
iceman1001 d28fac3ef0 style 2019-04-14 11:43:05 +02:00
iceman1001 664434dfba Fix: USART calls rx/tx 2019-04-14 11:10:16 +02:00
iceman1001 1e35130fbe missing include 2019-04-07 11:41:43 +02:00
iceman1001 49a0fda10b styles 2019-04-07 11:36:24 +02:00
Philippe Teuwen 07cc0d0a29 make style helped revealing my bug :) 2019-04-02 22:34:00 +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
Philippe Teuwen 7bd95dd5c3 FPC experiments: got so far TX_only, usart=115200 + usb=460800, see full commit msg
* Add \r\n to sent strings
* remove usart_init() from UsbPacketReceive cmd, it's already init in main.
* Add PLATFORM PM3RDV4FPC to ease dev
* TX: US_TCR is len of data to send, not len of buffer
* Use only one PDC bank as we're using it in sync
* Busy loop to wait for end of TX as we'using it in sync
* Change usart speed to 115200
* Don't downgrade USB speed, keep 460800
* Attempt to detect received data, fail so far
2019-04-02 01:06:03 +02:00
iceman1001 52be3f4fe5 chg: 'lf indala clone' - differnt input parms. '-L' gives a long UID.
chg: 'lf indala demod' - tries to descramble parts,  and detection is changed.  Still issues with PSK2..
2019-03-26 09:09:43 +01:00
iceman1001 ca9061bd32 changed byte_t -> uint8_t 2019-03-21 15:19:18 +01:00