X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/38cb7c71c52b1b710dd0a8a8883713617b713035..e04475c42128e4b61c96cab0ff2c1a47d6413885:/client/cmdlf.c diff --git a/client/cmdlf.c b/client/cmdlf.c index 59f6cd0d..34104518 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -33,6 +33,8 @@ #include "cmdlfpcf7931.h"// for pcf7931 menu #include "cmdlfpyramid.h"// for pyramid menu #include "cmdlfviking.h" // for viking menu +#include "cmdlfcotag.h" // for COTAG menu + static int CmdHelp(const char *Cmd); @@ -1080,6 +1082,7 @@ int CmdVchDemod(const char *Cmd) int CmdLFfind(const char *Cmd) { int ans=0; + size_t minLength = 1000; char cmdp = param_getchar(Cmd, 0); char testRaw = param_getchar(Cmd, 1); if (strlen(Cmd) > 3 || cmdp == 'h' || cmdp == 'H') { @@ -1098,7 +1101,7 @@ int CmdLFfind(const char *Cmd) if (!offline && (cmdp != '1')){ CmdLFRead("s"); getSamples("30000",false); - } else if (GraphTraceLen < 1000) { + } else if (GraphTraceLen < minLength) { PrintAndLog("Data in Graphbuffer was too small."); return 0; } @@ -1108,6 +1111,24 @@ int CmdLFfind(const char *Cmd) PrintAndLog("False Positives ARE possible\n"); PrintAndLog("\nChecking for known tags:\n"); + size_t testLen = minLength; + // only run if graphbuffer is just noise as it should be for hitag/cotag + if (graphJustNoise(GraphBuffer, testLen)) { + // only run these tests if we are in online mode + if (!offline && (cmdp != '1')){ + ans=CmdLFHitagReader("26"); + if (ans==0) { + return 1; + } + ans=CmdCOTAGRead(""); + if (ans>0){ + PrintAndLog("\nValid COTAG ID Found!"); + return 1; + } + } + return 0; + } + ans=CmdFSKdemodIO(""); if (ans>0) { PrintAndLog("\nValid IO Prox ID Found!"); @@ -1180,17 +1201,6 @@ int CmdLFfind(const char *Cmd) return 1; } - size_t testLen = (GraphTraceLen < 500) ? GraphTraceLen : 500; - // only run if graphbuffer is just noise as it should be for hitag - if (graphJustNoise(GraphBuffer, testLen)) { - if (!offline && (cmdp != '1')){ - ans=CmdLFHitagReader("26"); - if (ans==0) { - return 1; - } - } - } - PrintAndLog("\nNo Known Tags Found!\n"); if (testRaw=='u' || testRaw=='U'){ //test unknown tag formats (raw mode) @@ -1228,6 +1238,7 @@ static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, {"awid", CmdLFAWID, 1, "{ AWID RFIDs... }"}, + {"cotag", CmdLFCOTAG, 1, "{ COTAG RFIDs... }"}, {"em4x", CmdLFEM4X, 1, "{ EM4X RFIDs... }"}, {"hid", CmdLFHID, 1, "{ HID RFIDs... }"}, {"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders... }"},