Commit graph

96 commits

Author SHA1 Message Date
Antiklesys
90b05106f8 Updates to iclass legrec and legbrute
Streamlined legbrute to remove then need for CSN and validate variables accuracy as per Iceman's suggestions.
Updated legrec (client side only) for the future arm side PR
Fixed variable overflow on the arm side for hex conversions
2024-09-18 18:10:53 +08:00
iceman1001
b0dd246d94 const and bad OR 2024-09-06 09:52:30 +02:00
iceman1001
4de7b7d6b9 style 2024-07-21 16:19:21 +02:00
Antiklesys
f8fbcc2754 Bugfixes and code improvements for hf iclass legrec
1- Inlined functions related to hf iclass legrec within util.c for marginal performance gains.
2- Fixed bug preventing errors to be displayed properly and the process from interrupting on an error or on completion.
3- Fixed code indentation of the while loop in iclass.c
4- Fixed bug in the while cycle (was missing index++)
5- Improved ways to display hex results by using dbhexdump
2024-07-21 13:55:17 +08:00
Antiklesys
03adc544df Update util.c 2024-07-20 01:42:47 +08:00
Antiklesys
27cbdd3031 Update on variables and comments
Added missing definition of picopass block size in util.c
Changed some variables to full lowercase
Added comment explanation on correlation between macs and decimal values
2024-07-19 18:34:36 +08:00
Antiklesys
a127a38cb6 Updated some as per iceman's comments
Made multiple changes as per iceman's comments.
Removed redundant/unused function i forgot into cmdhficlass.c
Moved conversion functions in util.c for now but haven't yet check if it's possible to reuse the current fuctions already there. Will do that in a moment.
2024-07-19 18:27:36 +08:00
iceman1001
bae6f5196f fix fct name mismatch 2024-05-14 12:42:08 +02:00
iceman1001
3f6ea0f0fc style 2024-04-22 16:35:22 +02:00
iceman1001
4304372858 tweaking felica timings to see if it gets better results 2024-04-22 10:41:28 +02:00
iceman1001
081ff216eb style 2024-01-23 15:28:50 +01:00
Martijn Plak
e35385fde1 Adding processor flash memory reading, viewing and writing to file.
Works when the device is running either osimage or bootloader.

- New memory reading command in osimage and bootloader.
- Extended 'hw readmem' command with length parameter, file writing and hex viewer.
- Introduced '--dumpmem' option to proxmark3 executable to support dumping from bootloader.

Simple interactive examples:
  hw readmem -f flashdump
  hw readmem -l 1024
CLI example:
  ./pm3 --dumpmem flashdump.bin

Reading from arbitrary memory ranges can be unlocked using the 'raw' option.
2024-01-22 16:40:05 +01:00
iceman1001
70520af03b style 2023-12-14 23:38:04 +01:00
wh201906
3ee13c9ba6
Apply suggestions from @henrygab
Check if memory allocation fails
Fix memory leak
Initialize struct in declaration
Add/Fix some notes
Remove unlikely() in favor of readability
Remove a hard-coded magic number
2023-11-15 18:04:52 +08:00
wh201906
b4cc7c02cd
Real-time LF sampling mode on armsrc 2023-11-14 01:43:20 +08:00
iceman1001
b98d518fd7 style 2022-01-06 19:41:45 +01:00
Philippe Teuwen
b703bb746b Adapting license headers, WIP 2022-01-06 02:20:38 +01:00
Philippe Teuwen
5b54385347 rename globals 2021-08-21 23:08:26 +02:00
Philippe Teuwen
ef586c2a41 version info also for client, still cmake to do 2020-05-20 21:11:45 +02:00
Philippe Teuwen
026707b960 arm: fix prototypes 2020-05-11 13:48:57 +02:00
iceman1001
f5bff0d4e5 style 2019-09-13 16:27:25 +02:00
iceman1001
3587aeff2a fix: LED is used as a flag, 1,2,4,8 not 1,2,3,4.. 2019-09-12 09:58:05 +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
80941ed9e1 Remove comments 2019-08-07 00:02:00 +02:00
Philippe Teuwen
9f8e63a7c8 print errors only if dbg level allows errors 2019-08-06 23:19:59 +02:00
Philippe Teuwen
650dd5855f ok it seems PMW CNTR is not reset as promised in the datasheet, let's fix this for now... 2019-08-06 23:10:02 +02:00
Philippe Teuwen
1354aec556 typos 2019-08-06 13:51:10 +02:00
Philippe Teuwen
8b3159c83d Use more defines when using main clock or master clock 2019-08-06 13:40:08 +02:00
Philippe Teuwen
2cbe43f269 clarifications and minor changes in slow clock related operations:
* SpinDelay and SpinDelayUs: now rounding applies instead of truncating
* Document maximum duration of SpinDelay/SpinDelayUs/BUTTON_CLICK/BUTTON_HELD
* Add argument check against max duration in SpinDelay/BUTTON_CLICK/BUTTON_HELD
* Document why these functions don't need to take wrapping into acount as in GetTickCountDelta
* Use >= in the spinning loops
* Clarify StartTickCount calibration operations and use masks AT91C_CKGR_MAINRDY and AT91C_RTTC_RTPRES
2019-08-06 13:09:48 +02:00
Philippe Teuwen
3b12ba2e93 replace usb_poll_validate_length() by data_available() that supports USART too 2019-06-03 00:01:08 +02:00
Philippe Teuwen
fe9e1dc733 remap LEDs 2019-06-02 11:47:10 +02:00
Philippe Teuwen
4eaa2fc5aa move common util fcts to /common to avoid common files (e.g. crc) to depend on non-common files 2019-04-16 23:02:40 +02:00
Philippe Teuwen
961d929f4d changing {} style to match majority of previous style 2019-03-10 11:20:22 +01:00
Philippe Teuwen
0373696662 make style 2019-03-10 00:00:59 +01:00
Philippe Teuwen
8a7c6825b5 armsrc: fix mix of spaces & tabs 2019-03-09 20:34:41 +01:00
Philippe Teuwen
60f292b18e remove spurious spaces & tabs at end of lines 2019-03-09 08:59:13 +01:00
Chris
078196773c CHG: 'standalone bogitorun' - adapted some ledshow from Kigiv mode and increased time for user to stop pressing button after triggering the mode.. 2018-11-06 22:20:55 +01:00
iceman1001
4d8488e14b CHG: https://github.com/Proxmark/proxmark3/pull/631 from offical repo. (piwi)
CHG: textual adjustments
2018-07-28 14:25:12 +02:00
iceman1001
57df6a1a7e revert: add reflect function since its used in crc.c 2018-01-28 10:49:57 +01:00
iceman1001
cf44d04be1 add: reflect16
rem:  swapbits, reflect
2018-01-28 10:46:46 +01:00
iceman1001
ede55a1498 add: fast 8bit reversal. 2018-01-27 22:20:56 +01:00
iceman1001
3e83ff2159 CHG: '-DWITH_EMV' - fixing some compilation errors when compiling with peter fillmore's emv code. Warning a 256kb Proxmark3 device will only have 7% memory left if you enable this 2017-02-05 21:09:36 +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
8be98f12e9 syntax sugar 2017-01-21 11:07:44 +01:00
iceman1001
22f4dca88c CHG: extracted some timers functionality, to get unified access to a timer/clock which counts in ticks. Moved stuff from util.c 2016-09-21 19:03:32 +02:00
iceman1001
111c6934d4 CHG: Small steps, the waiting time between frames was unclear. At least now the tags answers to a readbyte command after the setup phase. 2016-09-12 09:19:49 +02:00
iceman1001
b4a6775b5e CHG: a better micro second (us) spindely function. At average it has 8-10us delay, but its linear. Making error less when you want to wait longer..
SpinDelayCountUs(20) gives a delay of 28us.
SpinDelayCountUs(100) gives a delay of 110us.
SpinDelayCountUs(500) gives a delay of 508us.
2016-09-10 21:43:08 +02:00
iceman1001
5d15891e2b FIX: Even the US clock had the issues with not resetting properly. Now its always ZERO when you call StartCountUS. 2016-09-09 11:57:31 +02:00
iceman1001
63a1d80130 FIX: the underlaying bug on deviceside code. The SSPCLOCK wasn't reset to zero sometimes. More specific, TC2 wasn't reset cause all sorts of timing issues for the device side randomly. Like 'hf mf mifare', like iclass, like 'hf mf sim' etc etc. 2016-08-24 12:37:31 +02:00
iceman1001
ab3af4fe85 CHG: forgot to add the reflect function 2016-07-28 21:45:00 +02:00