Commit graph

910 commits

Author SHA1 Message Date
iceman1001
d41efbf21b ADD: added a StopTicks functions, to disable the timer used for ticks (TC0, TC1) 2016-10-07 00:13:09 +02: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
9015ae0f5d CHG: "hf legic dump" now automatically detects tagtype and dumps accordingly.
CHG:  still #define codestyle  should it be with or without semicolons?
2016-10-05 22:58:06 +02:00
iceman1001
b1cd7d5ca6 FIX: one too many semicolons for #defines 2016-10-05 22:18:26 +02:00
iceman1001
00271f774a FIX: undeclared var on deviceside,
FIX:  "hf legic dump" is almost there.
2016-10-05 22:07:32 +02:00
iceman1001
633d068682 CHG: command name changes..
old "hf legic info" is now "hf legic reader"
old "hf legic read" is now "hf legic rdmem"
old "hf legic decode" is now "hf legic info"

ADD:  new command "hf legic dump",  which will autodetect tagtype and dump all mem to a binary file.
2016-10-05 21:42:13 +02:00
iceman1001
635d6e9bef CHG: code clean up 2016-10-05 17:10:29 +02:00
iceman1001
c15e07f11d CHG: making timings a bit tighter == faster read of tag. Like 1ms for whole tag.
FIX:  off-by-one bug in read-byte-loop.
2016-10-04 23:08:39 +02:00
iceman1001
7a8db2f678 CHG: "hf legic read" - increased timeout values client side, reading MIM1024 takes a bit of time 2016-10-04 21:26:19 +02:00
iceman1001
86087eba00 Textual changes in helptext. Still no clear. 2016-10-04 18:43:11 +02:00
iceman1001
7bc3c99e7e CHG: "hf legic write" started to change this command to the updated code 2016-10-04 18:05:55 +02:00
iceman1001
77a689dbeb CHG: revert legiccrc8 to old algo.
CHG: "hf legic decode" now loads EML memory
CHG: legic timings is better.
2016-10-04 00:07:07 +02:00
iceman1001
0b0b182fe2 CHG: changed to use BigBuff_Eml memory instead of big_buff_malloc.
CHG: downloading eml memory from device should use uint's
CHG: "hf legic read" has a different printing. It now prints 32bytes / row
2016-10-03 23:24:59 +02:00
iceman1001
c649c43389 CHG: finally, the ticks timer does what it is supposed to do. 32bits and working. 2016-09-29 21:36:43 +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
cb7902cdcd CHG: removed some debug data
CHG: reverted back to old crc imp.
2016-09-29 14:46:12 +02:00
iceman1001
a39944216d CHG: a select_legic function with structs and stuff and 2016-09-29 12:23:09 +02:00
iceman1001
d7e24e7c5f CHG: 'hf list legic' doesn't print the parity now.
CHG: 'hf legic read' the device side timings is starting to look much better. HUGE Thanks to @will-rbnt for endless checks and logic analyser feedback. Without his effort this would not work. What does work? We can now use ANY IV in legic. The PM3 Master version is flawed, will only work with IV=0x55.

---still broke--- my crc implementation.. I know I'm about to look into it.
2016-09-28 21:37:08 +02:00
iceman1001
584e28e54b CHG: Minor tweaks, the tracing dissappeared, the spindelay for powering up too long. 2016-09-26 21:40:05 +02:00
iceman1001
62577a62ae FIX: Much of my added extra legic code is commented away now.
FIX: the gcc6.1.1 warning broke my gcc 4.8.4 build env..
2016-09-26 20:21:31 +02:00
iceman1001
3e750be37c ADD: started to add a legic detection to "HF SEARCH" 2016-09-26 20:01:23 +02:00
iceman1001
faabfafe30 CHG: using bitsend to determind the legic annotation in "hf list legic" makes false positives much less. 2016-09-26 12:26:37 +02:00
iceman1001
e1deabc0eb CHG: fixes a "indent" warning 2016-09-26 11:04:04 +02:00
iceman1001
25d52dd261 CHG: according to measureement by @wilrn the actual timing for receiving tag data, is 90us (ONE) and 100us (ZERO) which is not mentioned anywhere before. What a find! 2016-09-24 15:15:24 +02:00
iceman1001
d5bded10e2 CHG: lowered the timout again, but re-added the spindelay since 14a requires 5ms powerup before entering the idle-state where tag starts to listen.
CHG: fix the ticks compare xx > 1 into  xx >= 1
2016-09-23 23:23:17 +02:00
iceman1001
f885043422 FIX: "hf 14a read" / "hf mf *" / "hf mfdes info" and failure when calling these commands serveral times in row.
For long transactions the sspclock compare with >1 instead of >=1 ..   Now the timer resets properly.
CHG: use some #define constants for iso-commands.
2016-09-23 21:28:07 +02:00
iceman1001
24c49d36ba FIX: This commit fixes the broken LF since I change the spindelay calls. The original problem is that spindelayus calls is incremented with21.3us each step, making it very hard to find exact timings found in the datasheets for T55x7, HID etcetc. When @marshmellow and I looked into this 2014, I had this on my back of my mind but forgot it since I didn't know how the source code / pm3 worked. This behavior in spindelayus has given the bit-period for ON/OFF measured in (us) very hard to find. Its kind of magic that it worked so far so good. Well until I started to look into the "hf legic" bitbanging ASK ON/OFF keying and that one needs a much more precis timer. Same goes for the PCF7931 code.
I've added a precise timer in the new files ticks.c and moved some older stuff from util.c to have a solid base for this.
UNTESTED,  and the timings measured for t55x7 in lfops.c and other parts has not been adjusted to this "correct" timer.
2016-09-23 16:35:26 +02: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
87342aadbc CHG: adjusted timing according to @sentinel 's traces 2016-09-14 16:18:04 +02:00
René Werner
1cb9b2a3cf used tabs instead of spaces 2016-09-13 21:04:13 +02:00
René Werner
78f59945a7 fixed indentation to get rid of warnings
warnings are treated as errors, so a warning due to misleading
indentation is kinda annoying
2016-09-13 20:57:25 +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
76471e5d17 CHG: reverted back from the idea of measureing in (us) microseconds, the timer is too raw, gives 10-15us delays. Now we are measuring ticks, which is (1 us = 1.5ticks)
like it was before.   ie:  80us = 80*1.5 = 120ticks.
2016-09-11 11:14:12 +02:00
iceman1001
db44e049b0 CHG: this timing should be quite good. needs to be verified. 2016-09-10 22:47:11 +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
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
f7b4257301 FIX: the acknowledgement response in setup phase now deals with MIN22, MIN256, MIN1024 tag accordingly. 2016-09-03 12:18:02 +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
ab1112796e CHG: removed call to bigbuff free. 2016-09-01 20:31:22 +02:00
iceman1001
2deea574d3 CHG: reverting use of bigbuff, because I forgot that every switch between LF/HF images destroys BigBuff. 2016-09-01 00:52:54 +02:00
iceman1001
05aff802ae CHG: removed a redundant include to strings.h, which made compilation errors on OS X 2016-08-31 22:10:06 +02:00
iceman1001
cc70dd6b60 FIX: should fix the typedefintion error for OS X regarding bool cmd_send 2016-08-31 21:11:57 +02:00
iceman1001
153a4a78fe CHG: the loop in main, for usb_poll_validate_length, shouldn't do anything, it should be done inside the next call to usb_read... 2016-08-31 19:22:52 +02:00
iceman1001
8d61d9b114 CHG: this timeout doesn't influence the bad performance with my older pm3 device (green pcb). I think its too slow. 2016-08-31 19:18:48 +02:00
iceman1001
be818b1417 FIX: Forget that the prng was 0x8000 length and not 0xFFFF. Sorry. Also returned to the decomposed loop. Don't know if this armsrc optimises this at compilation time. Does someone know?
CHG: returned the iso14443a_setup order, it might influence my older PM3 device.

*Note*  my Elechouse revisions PM3 works great with this but my older xpfga (green pcb) is hopeless.  It can't fix onto the nonces in 'hf mf mifare'  I think its too slow.
2016-08-31 19:17:39 +02:00
iceman1001
cc70889743 FIX: fixes the broken build,...
FIX:  increased the timeout,  to make 'hf mf chk' work better.
2016-08-26 17:17:40 +02:00
iceman1001
f121b478a1 FIX: 'lf awid bruteforce' cleaning up all debug messages 2016-08-26 16:35:30 +02:00
iceman1001
ed8c2aeb63 CHG: forgot a semicolon... 2016-08-24 15:05:10 +02:00
iceman1001
bcacb3168b CHG: removed some extra time to sync,
CHG: first_try ,  it must recalibrate all the times when it comes from the client.
2016-08-24 15:01:36 +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
f38cfd6693 CHG: fixed the collapsing comments when opening this file in notepad++ Need spaces between // text or /* ... 2016-08-24 12:34:34 +02:00
iceman1001
4c44d88500 REM: removed an test function 2016-08-24 12:32:43 +02:00
iceman1001
6067df30c5 FIX: at least now the special zero parity attack, repeats and doesn't crash. However it doesn't find the key either :( 2016-08-10 10:55:29 +02:00
iceman1001
86db8973b0 CHG; still looking at 14b, this time started to look at the tracelog times not working. 2016-08-09 23:13:18 +02:00
iceman1001
c2df2883f8 fix: forgot something small.. sloppy. 2016-08-07 22:15:35 +02:00
iceman1001
29f8c2cc15 ADD: added the 'max frame size' parameter set, valid sizes: 16|24|32|40|48|64|96|128|256
it can be verified by setting debuglevel to 3 or more.
2016-08-07 22:05:10 +02:00
iceman1001
d8b7a5f294 CHG: applied some of the changes unto "hf 14b snoop" *untested* Hard to test without a proper reader/tag to snoop 2016-08-07 18:49:36 +02:00
iceman1001
b86225188e CHG: iso14443b.c got some more love. using the "hf 14b raw" command gives now a much stabil read from more distances than before. 2016-08-07 17:49:33 +02:00
iceman1001
df007486f5 ADD: @donwan581 select keytype for the darkside attack. 2016-08-04 21:51:26 +02:00
iceman1001
6b23be6b7e CHG: cleaning up. 2016-08-04 21:37:43 +02:00
iceman1001
0f6e6b9acb FIX: coverity scan 133859 structually dead code, looks like this is a rest from and old loop. I just removed it. 2016-08-03 10:53:26 +02:00
iceman1001
c23d2618ba FIX: mental note to self, don't code when tried. "size" should have been "sizeof". I need to fix my build for armsrc again. 2016-08-03 00:51:26 +02:00
iceman1001
65cdf0e3f9 FIX: Coverity scan 1333852, Make sure (card) is not null before accessing it. 2016-08-03 00:39:02 +02:00
iceman1001
c3e8413c2b CHG: Some testing of timings on 14443b,
FIX: CoverityScan 133854 , out-of-bounds read,  when calculating crc.
2016-08-03 00:35:14 +02:00
iceman1001
3e82f956d8 FIX: COverityScan 133865, out-of-bounds access, Forgot that bits is not used in Logtrace but bytes. 2016-08-03 00:25:53 +02:00
iceman1001
bf2cd64406 fix: CoverityScan 133855 -out-of-bounds bits was used as index to cmd array. 2016-08-02 16:04:03 +02:00
iceman1001
955228691e REM: cleaning up some commented code. 2016-07-30 19:36:48 +02:00
iceman1001
d0724780ab FIX: Found a minor bug in 'LF CMDREAD' where it on device side didn't compare with the right char 'h' instead of 'H'. Re-wrote that whole part anyway, I changed periods to be max 0xFFFF in length, doubtful that a zero or one delay will be bigger than 65535... 2016-07-30 19:30:53 +02:00
iceman1001
ab3af4fe85 CHG: forgot to add the reflect function 2016-07-28 21:45:00 +02:00
iceman1001
3e134b4c20 CHG: merged the forum user @jason 's fixes to LEGIC. *UNTESTED*
CHG: changed the CRC implementations.
2016-07-28 21:41:44 +02:00
iceman1001
b9b480d081 chg: name error? 2016-07-07 10:01:50 +02:00
iceman1001
a8ee668770 CHG: moved includes into header file where it belong 2016-07-07 02:15:40 +02:00
iceman1001
0a856e292a CHG: adjusted the debug message to the correct mfkey32v2 with right number of parameters. 2016-06-22 09:35:18 +02:00
iceman1001
118bf0c203 ADD: added a comment about Q5 settings. needs to be verified 2016-05-16 21:41:19 +02:00
iceman1001
6a4271d186 CHG: Changed cardnumber printing from %d (signed) to %u (unsigned) for AWID50, it now prints correct in all cases. Thanks to @ntk for reminding me about it. 2016-05-14 14:34:35 +02:00
iceman1001
c5e8b91696 ADD: AWID 50bit demod 2016-05-13 22:52:25 +02:00
iceman1001
60e26e50c5 FIX: changed from ssized_t -> size_t
FIX:  changed off_t -> size_t
2016-05-09 08:27:55 +02:00
iceman1001
e46642ca4c REM: commented out a reference to Logtrace in bigbuf.c, since its already declared as "extern" in bigbuff.h
Lets see if this reduces compilation errors for Mac OS X users.
2016-05-08 18:52:19 +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
7680db569c CHG: test to remove a call <sys/types.h> seems to be conflict with mac os x... 2016-05-06 20:09:10 +02:00
iceman1001
b070f4e495 CHG: only need a byte in this loop 2016-04-29 22:24:37 +02:00
iceman1001
ffeb77fdc6 CHG: the 14b is getting better, since I added the fpga waiting signaling I found in "14a emgetcmd" etc. 2016-04-29 22:23:32 +02:00
iceman1001
57850d9dfb CHG: FpgaSetupDMA, handle when it returns NULL. 2016-04-27 20:42:44 +02:00
iceman1001
d51717fffd CHG: 'hf 14b sim' better work flow on device side. not done yet. 2016-04-27 20:42:01 +02:00
iceman1001
0923c43cc6 CHG: "hf 14b sim" making the flow to be similar to "hf 14a sim". 2016-04-27 19:53:21 +02:00
iceman1001
dccddaef77 CHG: "hf 14b sim" - Added the possibility to call it with a PUPI/UID. Sample: "hf 14b sim u 11223344" 2016-04-27 11:21:29 +02:00
iceman1001
8040711b90 REM: removed a debug function call, PrintToSendBuffer 2016-04-26 21:34:24 +02:00
iceman1001
a287e8cfdd CHG: FpgaSetupDMA can fail and returns NULL. Added a check for it. 2016-04-26 21:31:43 +02:00
iceman1001
11c2df83d2 CHG: Much more stable 14B functionality when Sending as Reader/PCD and Reading from Tag/PICC. The read distance is up to 2.5cm and is not nearly so position picky as previous version. The logtrace now also logs times.. kind of.
Getting there slowly.
2016-04-26 21:29:45 +02:00
iceman1001
aa5bbe6a9b CHG: changed this call, to the #define name instead. 2016-04-24 21:45:22 +02:00
iceman1001
cd777a0545 FIX: Some Coverity Scan warnings. fread, not initialised etc etc 2016-04-23 18:23:46 +02:00
iceman1001
5bb6228386 syntax suger 2016-04-23 13:04:22 +02:00
iceman1001
72e6d4621a code clean up 2016-04-21 10:30:42 +02:00
iceman1001
bc9393715f CHG: "hf 14a sim" command , correct use of FLAGS
CHG: "hf 14a sim" command, changed the data collection for the attackmode in SimulateIso14443aTag.  It now uses @holiman 's original implementation. But we can't change "NR", so we do next.
CHG: "hf 14a sim" command, nonce is increase with every new auth.  This is for the "mfkey32_moebius" attack to work.

CHG: "hf mf sim" command (function void Mifare1ksim ) now handles UID' with length 10.
CHG: "hf mf sim" command nonce is increase with every new auth.  This is for the "mfkey32_moebius" attack to work.
2016-04-18 13:26:16 +02:00
iceman1001
c01d8e21ea CHG: deviceside changes to deal with sniffing UID's with length of 10. 2016-04-18 13:19:11 +02:00
iceman1001
13fc2e9c71 ADD: added triplesided UID to "hf mf sniff" 2016-04-14 11:35:49 +02:00
iceman1001
c981c53ff3 MOV: moved the #DEFINES into protocols.h 2016-04-14 11:34:36 +02:00
iceman1001
68410a4892 Syntaxt suger 2016-04-14 11:34:02 +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
91c7a7ccb7 Syntaxt suger,
and some clean up in the "hf mf mifare" code.  I removed the three strategies Pivi added to make the code easier and added a lot of comments to understand.
the WDT bug is still there in this code. Needs further testing yet, before I commit the fix.
So far the fix is quite stable on ubuntu, but on mingw/win is breaking still. Which at this point doesnt make any sense.
2016-04-12 11:36:52 +02:00
iceman1001
88e20c9f6d syntax suger 2016-04-12 11:30:49 +02:00
iceman1001
46f983fe9e REM: removed an unused method MifareCollectNonces
ADD:  added some set_tracing(FALSE) calls for consistency.
and.. syntax suger
2016-04-12 11:29:40 +02:00
iceman1001
41863885d0 REM: removed some unused code, GetDeltaCountUS() and a global counter variable. Its not used anywere.
CHG:  syntax suger
2016-04-11 15:26:15 +02:00
iceman1001
86d597a510 ADD: added @pivi 's faster authentication method from 'hardnested' into "hf mf chk" (check keys) and removed the "halt" command.
the speedup is great. Together with the previous speedups from making changes how the client sends the keys to the device,  make it lightning fast. It would be fun to see how much fast it is now.
2016-04-11 15:25:00 +02:00
iceman1001
ca5bad3d73 CHG: syntax suger,
CHG: the nested call to readerreceive is not negated..
2016-04-10 13:05:01 +02:00
iceman1001
1b4a446aba CHG: syntax suger.. 2016-04-10 12:58:04 +02:00
iceman1001
2abdfa491c CHG: mostly syntax suger, trying to uniform the look 'n feel.. To make calls act to what is expected. 2016-04-10 12:56:59 +02:00
iceman1001
5eceba292f CHG: some textual change and some syntax suger changes. 2016-04-10 12:55:18 +02:00
iceman1001
cb832982c9 FIX: how to break a working thing by being blind... 2016-04-10 12:29:38 +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
9206d3b034 ADD: copied all EMV files from peter filmoores fork. Have not started with making it work in current fork. (a lot of work) 2016-03-20 19:37:29 +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
cef590d9ef CHG: Added the BigBuf_Clear_ext calls, returned to Marshmellow42 's / pwpiwi 's sampledemod. The 14B commands works again...
CHG: re-arranged the Uart, Demod structes init, reset,   in a first attempt to prepair to move them to a seperate file.
2016-03-13 07:20:21 +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
1615d06a2e CHG: breaking up a long line in armsrc/Makefile to make it easier for ppl to understand how to compile for different standalone modes.. 2016-03-13 07:12:54 +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
6c68b84a6e @Marshmellow42 additions:
ADD: Q5 to 'LF PYRAMID'
ADD: ST sim addition to SIM ask.

REF: 29ada8fc08
2016-03-07 18:53:02 +01:00
iceman1001
38e4191705 CHG; a fix for "HF TUNE", I always were annoyed with the hf tune where it printed one value per row endlessly. So this fixes that, it uses "\r" to print on the same row. Works on MINGW/WINDOWS. Havn'nt tested it on Linux yet. But it looks good now. 2016-03-06 10:35:25 +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
ff3e074478 CHG: some minor changes to the 14b, the read 14b lua, 2016-03-01 07:03:00 +01:00
iceman1001
c728b2b4cf FIX: Added @marshmellow42 's fix for ASK/Biphase simulation on deviceside.
CHG: Added @marshmellow42 's refactoring of "gprox-II" demod.
2016-03-01 06:57:02 +01:00
iceman1001
69c4516d32 chg: minor changes to text, explaining current implementation for "lf pyramid clone/sim" only works for 26bits. 2016-02-27 12:12:05 +01:00
iceman1001
c0f15a05b3 ADD: Marshmellows fixes for "lf t55xx" and "lf cmdread" ref: https://github.com/Proxmark/proxmark3/pull/166/files 2016-02-21 17:44:25 +01:00
iceman1001
c7962313cc FIX: an extra break inside "Hf mf cgetsc" made it not read the fourth block in the sector. 2016-02-20 00:29:35 +01:00
iceman1001
b03006794f CHG: removing some time-debug statements.
CHG:  increased the time-out message 2sec, in proxmark,  to make "hf mf chk" work better.
CHG:  still trying to solve the "hf mf mifare" WDT_HIT bug.

With these changes,  the "hf mf chk" / "Hf mf nested" looks similar and should be a bit faster.
2016-02-19 22:34:39 +01:00
iceman1001
838c15a643 ADD: added some time debug statements to be able to measure execution time.
CHG: change the auth_ex method to send usb package faster,
REM: removed some bucketsort changes.
2016-02-17 17:30:37 +01:00
iceman1001
aacb96d7ed FIX: Coverity scan fixes, hard to keep track of stringlengths while reading and copying in C. 2016-02-17 10:46:08 +01:00
iceman1001
82885445b3 FIX: cuid order... 2016-02-16 23:51:52 +01:00
iceman1001
7504dc50d5 Merge branch 'master' of https://github.com/iceman1001/proxmark3
Conflicts:
	armsrc/crypto1.c
2016-02-16 21:43:45 +01:00
iceman1001
ee97a92adb CHG: testing a prng_successor_one method 2016-02-16 21:41:10 +01:00
iceman1001
6a18e46fa6 FIX: finally I took the effort to finish the "hf mf c*" commands on device side... 2016-02-15 22:04:24 +01:00
iceman
a70fcfb655 add: added a noncedistance method 2016-02-15 02:46:48 +01:00
iceman
6e91de5a8d add: added a test function for nonce distance 2016-02-15 02:46:15 +01:00
iceman1001
a11ca2f305 FIX: @wllm-rbnt 's typo fixes 2016-02-12 07:37:10 +01:00
iceman1001
4b78d6b317 CHG: having a go at finding the WDT death second time we run "hf mf mifare"... 2016-02-10 21:46:52 +01:00
iceman1001
5192a0a689 CHG: syntax suger 2016-02-10 21:45:03 +01:00
iceman1001
b7536e11e1 FIX: added @marshmellow42 's fixes for StandAloneMode. Some debug printed wrong sized hex and the call to CopyHIDtoT55x7 had the parameters in wrong order. 2016-02-10 17:33:12 +01:00
iceman1001
bd9dfaa891 CHG: Syntax suger
EXperimented:  unfolded a loop.
2016-01-25 20:24:23 +01:00
iceman1001
4c0cf2d215 Experimeting with finding the "WDT_HIT" bug in "Hf mf mifare", which not shows if "hf mf dbg" is set to 3 or more... 2016-01-25 20:21:11 +01:00
iceman1001
5f5254d631 FIX: Possible usage of NULL. 2016-01-25 20:19:47 +01:00
iceman1001
65c2d21d05 CHG: Syntax suger 2016-01-25 20:19:15 +01:00
iceman1001
da198be4b5 CHG: Syntax suger 2016-01-25 20:17:08 +01:00
iceman1001
810f53792e ADD: added the possibility to choose which block num to attack with "hf mf mifare" Before it only worked on block 0. 2016-01-20 22:26:01 +01:00
iceman1001
5ebcb867a3 FIX: Some uninitialized variables, some syntax suger, and some extra WDT_HIT calls inside "ReaderMifare" to stop it from trigger when running multiple times in a row. 2016-01-20 19:53:58 +01:00
iceman1001
d798d31cbe FIX: Coverity scans, uninitialized variables,
CHG: unfolded some loops..
2016-01-20 17:44:51 +01:00
iceman1001
4a71da5a35 FIX: Coverity Scan complains about resourceleaks, array reads outside of index, uninitialized variables. 2016-01-20 17:13:25 +01:00
iceman1001
bf22fab73b FIX: Coverity Scans complain about uninitialized usage of struct. Setting s->ODD and s->EVEN to zero should do the trick. 2016-01-20 11:31:24 +01:00
iceman1001
495d7f1326 FIX: Coverity scan, forgot one fread ...
CHG: Syntax suger
2016-01-19 22:25:34 +01:00
iceman1001
8130eba4d1 CHG: Syncronized so all different parts uses the same implementation of Crapto1 v3.3 2016-01-19 18:01:16 +01:00
iceman1001
7d5169a0e9 CHG: minor change initializing array. 2016-01-19 16:59:06 +01:00
iceman1001
02a405967e CHG: The nonce from "hf mf nested" is fixed to this one, why is that one selected? Why not just all zeros or ones? 2016-01-19 16:32:29 +01:00
iceman1001
9974991e4b CHG: Syntax suger 2016-01-19 16:31:38 +01:00
iceman1001
417f4ae127 CHG: Crapto1 v3.3 for the ARMSRC 2016-01-19 16:19:59 +01:00
iceman1001
c2d2a5a6b5 CHG: Tried to unfold some loops inside ARM/crypto1 imp. It can't hurt, feels stabil. 2016-01-13 22:24:12 +01:00
iceman1001
0d5ee8e245 ADD: @pwpiwi 's latest changes to 'hf mf hardnested' 2016-01-13 09:31:13 +01:00
iceman1001
5cc88edfaf CHG: syntax suger 2016-01-09 17:19:09 +01:00
iceman1001
dd79e03a1a ADD: a new pwdgen algo Nicknamed C, (Huge props to @Bettse for everything) also added to the "hf mfu info" command. However, that will not work given the system's lockbits.. :( Maybe I'll add a function to test all imp pwdgens given a UID without making a authentication call to tag.
ADD:   BSWAP_32 macro, for changing endianness.
2016-01-09 17:17:36 +01:00
iceman1001
7f6ccd3926 FIX: coverty scan defects.
- bigbuf.c  is comparision correct (iLen versus numofparity)
- cmdhfepa.c  resourceleak, add a call to free
- cipherutils.c  resourceleak, added calls to free
2016-01-08 15:28:24 +01:00
iceman1001
614da335f6 Syntax suger, making the code easier to read (for me at least) 2016-01-08 14:26:35 +01:00
iceman1001
ab7bb49475 FIX: coverty scan reveals some resourceleaks and overruns, which is supposed to be fixed now.
/armsrc/des.c   overflow 7 instead of 6
/client/cmdlfhitag.c  overflows traclen
/client/util.c   sprint_bin_break  overflows.
/client/cmdhficlass.c   need to free memory after malloc.

ADD:  RotateRight macro in util.h
2016-01-08 14:25:10 +01:00
iceman1001
09181a5462 code clean up, added some comments to hitag 2016-01-03 17:17:44 +01:00
iceman1001
c35145bf7a FIX: the usb_poll_validate_length() check should be inversed, thanks @marshmellow42 2015-12-22 16:14:03 +01:00
iceman1001
9332b857ff ADD: @marshmellow42 's fixes for Q5, t55xx, fskclock,
ADD:  got tired of always writing wrong "hf 14a list",  so I hooked it back up to call the "hf list" with argument. Things becomes smoother that way.
2015-12-16 11:01:46 +01:00
iceman1001
2b1f4228c2 ADD: @marshmellow42 's changes to "hf mfu *" ,
ADD: @marshmellow42 's changes to "hf mf sim",
ADD: @pwpiwi 's parity files was missing.
2015-12-15 09:34:55 +01:00
iceman1001
f8ada309e9 ADD: @pwpiwi 's latest code from his 'hardnested' branch. 2015-12-15 08:51:29 +01:00
iceman1001
508b37ba9c REM: removed an unused doublett function "printBits" in util.c
ADD:  added a new string helper function "sprint_hex_ascii" in util.c
ADD:  added "LF AWID BRUTE", a very simple bruteforce command for the awid commands.
      it takes a facility-code,  and iterates all possible 0xFFFF cardnum by sending sim command. It also uses the usb_poll function to stop the bruteforce on keypress and not leaving the pm3 device running the simulation.
the command implements the help parameter.
2015-12-14 22:50:54 +01:00
iceman1001
8ce3e4b4e9 add: missing two hard_nested files.. 2015-12-02 16:48:25 +01:00
iceman1001
3f26796673 FIX: the lfsampling.c for t55xx had a tendecy to enter a neverending loop. Moved exit branch into the while statement, which seems to solve it.
FIX: Strange int -> uint8_t casting behavior  (0x05 gets the 25bit set and becomes 0x10005 instead) in fskdemod,  removed int and sscanf.
2015-12-01 22:38:37 +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
1a570b0a6a CHG: Missing some headers
FIX: some message/warning in pm3_binlib.c  @gm4tr1x
2015-11-23 10:49:16 +01:00
iceman1001
e9a92fe237 FIX: the read counter in "hf 14a sim" (for ntag/ev) should work better now. Instead of always returning zero, it increases aswell.
--Started to add the TI demod into the 'LF SEARCH"
2015-11-22 21:48:15 +01:00
iceman1001
a126332a7b ADD: @marshmellow's fixes to awid, viking and T55x7
ADD: 'lf t55xx detect' now can be called with a password.
ADD: trying to add the read counter and increase counter commands for ntag sim.
2015-11-22 17:33:41 +01:00
iceman1001
6426f6ba86 @marshmellows last LF changes.
- wipe a t55x7 tag
- stable demods
-
2015-11-20 16:56:43 +01:00
iceman1001
0956e0dba5 FIX: an error that I introduced to the csetblock command with wrong length of crc calcs.
CHG:  variable name in csetblock change.  just trying to be consistant.
ADD:  code clean up in hf 14a,  added some help text methods.
2015-11-10 11:45:45 +01:00
iceman1001
70459879e9 added @marshmellows new viking demod.
adjusted it to fit with the clone/demod  that is under  "lf viking" commands.

did some code clean up,  3spaces into tab.
2015-11-10 11:42:59 +01:00
iceman1001
edaf10af99 CHG: minor code clean up, removed commented old code.
ADD: usb_poll_validate_length  to some deviceside loops.
ADD: @marshmellow42 's fixes to LF
2015-11-09 21:51:34 +01:00
iceman1001
7c5f2ced5b ADD: @piwi's fixes to "hf snoop" where it empties the bigbuffer before snooping. 2015-11-09 21:48:09 +01:00
iceman1001
c2731f37be CHG: a major remake of the "hf mf c*" commands. Ie chinese magic tags. Tried to make them consistent in parameter calls and simplified. And fixed the annoying gen1 tags that answers with a ACK/NACK on HALT commands.. 2015-11-09 21:46:15 +01:00
iceman1001
94422fa23f ADD: @marshmellow42 's fixex and resetread t55x7 2015-11-02 20:46:17 +01:00
iceman1001
acd7ccdbc9 CHG: some magic generation1 tags is not following protocol and answers to the "halt" command. This gives an error and makes the users think something went wrong. This also affected the magic identification in "Hf 14a reader" command, where it in those moments stated "NO" even if the tag is indeed a generation1. 2015-11-01 22:16:16 +01:00
iceman1001
afa86e5c03 ADD: help text for 'hf snoop' / 'hf search' / 'hf list'
CHG: minor code changes.
CHG: makefile ,  moved hi_sniffer.v from LF into HF row.  @piwi suggestion for PR https://github.com/Proxmark/proxmark3/pull/141
2015-11-01 19:49:08 +01:00
iceman1001
857bc2ff6a CHG: some desfire changes from @bforbort fork. *untested* 2015-10-30 09:09:35 +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
1c8fbeb93e ADD: 'LF T55X7 WAKEUP' command. For tags with AOR bit set, send this command with password to wake tag up and be able to do a "LF SEARCH" etc on it.
CHG:  Minor code changes on T55X7 code.   Default password is back to 'FF FF FF FF',
REM:  removed @marshmellow42 's wakeup option in "lf t55x7 read",

---  BASICALLY:
if a  T55X7 tag has following bits set:
AOR -  send wakeup command with pwd, to enable LF interacting with it.
PWD -  send read/write/trace/info command with pwd.  No need to send wakeup.
2015-10-21 09:12:33 +02:00
iceman1001
2efd639484 CHG: some cleanup of pcf7931.c 2015-10-20 19:02:03 +02: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
a739812e89 FIX: thanks @tony, for pointing out a "end" statement inside tnp3sim.lua
ADD: @marshmello42 fixs for t55x7
2015-10-16 23:16:46 +02:00
iceman1001
6a09bea427 CHG: code clean up. Have some questions regarding the CopyVikingTo method. The configblock looks wrong.. 2015-10-15 11:30:37 +02:00
iceman1001
e16054a468 CHG: minor updates in the T55x7 methods. added the LED_A_ON / LED_A_OFF to indicate when a T55x7 command is running.
CHG: added some more comments to T55x7,  next person who looks at this will have it easier.
2015-10-15 11:00:07 +02:00
iceman1001
ac2df3460a ADD: @marshmellows fixes for t55x7 reading signal.
ADD: @marshmellows "diphase" definition for T55x7.
MOV: extracted the aquisition from the t55x7 methods and put them inside lfsampling.c
FIX: pcf7931 write,   there is 16bytes in a block.. not 4 as I thought before.
FIX: t55x7 lowered the WRITE_0 to 16.  Even bigger gap.
2015-10-15 10:23:15 +02:00
iceman1001
368044201a FIX: The T55x7ReadBlock method, should not have the startgap since it indicats that it might be a write command. See if this fixes the bug.
ADD:  Extracted the whole pcf7931 functionality into seperat files.  The lfops.c is starting to become too large.
2015-10-14 11:39:51 +02:00
iceman1001
2285d9dd94 FIX: I did a clean up of the "LF PCF7931" code. The write command is not quite done.
FIX: Added some more "clearCommandBuffer" calls before sending..
2015-10-12 21:30:54 +02:00
iceman1001
5ee53a0e75 ADD: There were lot of calls to enable tracing, but very few to turn it of afterwards in the methods.
Don't know if it has some influence but can't hurt calling  "set_tracing(FALSE);"  when method returns.
2015-10-11 19:14:17 +02:00
iceman1001
3bc7b13d23 ADD: @marshmellow42's decrypt crypto-1 method,
ADD:  @piwi's latest commit to PM3 Master, aiming at the WDR in "hf mf mifare".
2015-10-11 09:07:29 +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
iceman1001
f62b5e1204 added @piwi 's usb speed test.
.. found out that my usb speed is really slow.  Started to look for reasons. Have a win7 64 env, running on a vmware image.
2015-07-31 10:37:24 +02:00
iceman1001
0db6ed9a71 Merge some PM3 master commits. Had to re-make the StandAloneMode to work with flags in SimulateIso14443aTag 2015-07-29 01:10:06 +02:00
iceman1001
5de79e20f1 MOD:: reverse back changes to 14443b.c
ADD: the hid-flasher/usb_cmd.h  wasn't up to date with how it's other file /common/usb_cmd.h looks like.
ADD: utils.lua  14443v crc inside LUA.
ADD: utils.lua  ConvertAsciiToHex method and minor adjustments checks.
2015-07-28 21:33:09 +02:00