Commit graph

101 commits

Author SHA1 Message Date
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 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 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
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 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 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 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 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 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 65c2d21d05 CHG: Syntax suger 2016-01-25 20:19:15 +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 6427695bb4 ADD: using @holiman's "ubs_poll_validate_length() function in some device-side functions.
-hitag2, -legicrf, HIDdemodFSK, CmDAWIDdemodFSK, CmdEM410xdemod, CmdIOdemodFSK

It should enable them to be aborted with a call to  "hw ping / hw status" instead of only button-press. Which is good when you are scripting stuff.
2015-07-22 23:45:41 +02:00
iceman1001 7838f4beba MERGED: @holimans changes
MERGED: @piwi changes
MERGED: @marshmellows changes.

I'm not even gonna try write up all that stuff..

ADD: changed some commands inside the "Hf 14a sim" on deviceside.
ADD: @mobeius "two nonce" version for mfkey32.   It is also inside the "hf 14a sim" with the "x" parameter.
2015-07-22 23:00:52 +02:00
iceman1001 64d1b4efc9 Merge branch 'master' of https://github.com/Proxmark/proxmark3
Conflicts:
	armsrc/Makefile
	armsrc/appmain.c
	armsrc/apps.h
	armsrc/epa.c
	armsrc/iclass.c
	armsrc/iso14443a.c
	armsrc/iso14443a.h
	armsrc/iso15693.c
	armsrc/lfops.c
	armsrc/mifarecmd.c
	armsrc/mifareutil.c
	armsrc/mifareutil.h
	armsrc/string.h
	armsrc/util.h
	bootrom/bootrom.c
	client/Makefile
	client/cmddata.c
	client/cmddata.h
	client/cmdhf.c
	client/cmdhf14a.c
	client/cmdhf14b.c
	client/cmdhf15.c
	client/cmdhficlass.c
	client/cmdhfmf.c
	client/cmdhfmfu.c
	client/cmdlf.c
	client/cmdlfem4x.c
	client/cmdlfhid.c
	client/cmdlfhitag.c
	client/cmdlfio.c
	client/cmdmain.c
	client/data.h
	client/flash.c
	client/graph.c
	client/graph.h
	client/loclass/elite_crack.c
	client/loclass/fileutils.c
	client/lualibs/commands.lua
	client/lualibs/html_dumplib.lua
	client/lualibs/mf_default_keys.lua
	client/lualibs/utils.lua
	client/mifarehost.c
	client/nonce2key/crapto1.c
	client/proxmark3.c
	client/scripting.c
	client/scripts/tnp3dump.lua
	client/scripts/tnp3sim.lua
	client/scripts/tracetest.lua
	common/Makefile.common
	common/cmd.c
	common/cmd.h
	common/lfdemod.c
	common/lfdemod.h
	common/usb_cdc.c
	common/usb_cdc.h
	include/usb_cmd.h
2015-01-29 21:39:33 +01:00
pwpiwi 117d9ec25c Refactoring of BigBuf handling in order to prepare for more efficient memory allocation and longer traces. 2015-01-27 22:25:55 +01:00
iceman1001 f38a152863 First check in. 2014-09-11 23:23:46 +02:00
iZsh 7cc204bff8 THIS REQUIRES A BOOTROM UPDATE!! To save FPGA area, split the LF and HF bitstreams and load them on-demand. 2014-06-20 01:02:59 +02:00
adam@algroup.co.uk 3612a8a8e2 legic write/simulate [Anon] 2010-05-06 11:24:01 +00:00
d18c7db 0aa4cfc2f1 Fix up small error in main osc startup delay and replace more custom defines with standard Atmel defines 2010-03-04 08:15:59 +00:00
marcansoft bd20f8f478 Add license headers to armsrc/bootrom/common stuff
I have kept whatever copyright notices exist. Please add your own
copyright notice if you have made any nontrivial changes or additions to
the code. There are several files without any attribution, currently.
2010-02-21 00:12:52 +00:00
marcansoft 9ab7a6c755 Split str* and mem* into string.[ch] 2010-02-21 00:10:28 +00:00
marcansoft f7e3ed8287 Clean up data types, some header cleanup, etc. 2010-02-20 22:51:00 +00:00
marcansoft e30c654b19 More en masse cleanup (whitespace/newlines/headers/etc) 2010-02-20 21:57:20 +00:00
izsh@fail0verflow.com 5e174a511b marcan's patch until he gets commit access. Remove C library's includes from the firmware side since it's not available anyway and not used 2010-02-20 03:07:55 +00:00
adam@algroup.co.uk 4c8db262c0 usability hint 2010-02-06 15:50:20 +00:00
adam@algroup.co.uk b279e3efc1 more helpful error message (from Sourcerer) 2010-02-06 09:54:38 +00:00
adam@algroup.co.uk a2b1414f43 Andreas fix for LEGIC MIM1024 2010-02-06 09:43:33 +00:00
adam@algroup.co.uk 8e220a9126 put legic back in the system and add rumpletux's fast legic / prng code from forum 2010-02-05 08:18:02 +00:00
henryk@ploetzli.ch 2561caa24c Implement card reading with a few simple fixed obfuscation strings 2009-12-28 18:19:00 +00:00
henryk@ploetzli.ch 1d99b0df4a Remove LEGIC RF tag emulation code since it's useless without keystream generator 2009-12-28 18:18:25 +00:00
bushing 1dea88f976 fix some ARM build fail 2009-12-22 12:48:33 +00:00
henryk@ploetzli.ch dcc10e5e31 Add basic communication shell for Legic RF in reader mode. Needs the new receive function of hi_read_tx. 2009-11-06 15:37:53 +00:00
henryk@ploetzli.ch add16a6287 Refactor things around to make it easier to add a reader mode with code reuse 2009-11-05 11:13:46 +00:00
henryk@ploetzli.ch 4014b814fb Make canned responsed const 2009-10-25 09:58:23 +00:00
henryk@ploetzli.ch ccedd6ae6b Simplify data types, now that I believe that 'frames' will always be rather short 2009-10-23 21:40:17 +00:00
henryk@ploetzli.ch aac23b2434 Fix and generify legic response code 2009-10-16 22:07:00 +00:00
henryk@ploetzli.ch a7247d858b Add basic LEGIC RF communication in tag simulation mode 2009-10-12 11:47:39 +00:00