count = 0;
}
}
- PrintAndLog("Recovered %d raw bits", rawbit);
+ if (rawbit>0){
+ PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32);
PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos);
-
+ } else return 0;
// Finding the start of a UID
int uidlen, long_wait;
if (strcmp(Cmd, "224") == 0) {
}
RepaintGraphWindow();
- return 0;
+ return 1;
}
int CmdIndalaClone(const char *Cmd)
}
SendCommand(&c);
WaitForResponse(CMD_ACK,NULL);
+
+ // load samples
+ CmdSamples("");
return 0;
}
return 0;
}
+//by marshmellow
+int CmdLFfind(const char *Cmd)
+{
+ int ans = 0;
+ char cmdp = param_getchar(Cmd, 0);
+
+ if (strlen(Cmd) > 1 || cmdp == 'h' || cmdp == 'H') {
+ PrintAndLog("Usage: lf search [use data from Graphbuffer]");
+ PrintAndLog(" [use data from Graphbuffer], if not set, try reading data from tag.");
+ PrintAndLog("");
+ PrintAndLog(" sample: lf search");
+ PrintAndLog(" : lf search 1");
+ return 0;
+ }
+
+ if (!offline || (cmdp != '1') ){
+ ans = CmdLFRead("");
+ } else if (GraphTraceLen<1000) {
+ PrintAndLog("Data in Graphbuffer was too small.");
+ return 0;
+ }
+
+ PrintAndLog("Checking for known tags:");
+
+ ans=Cmdaskmandemod("");
+ PrintAndLog("ASK_MAN: %s", (ans)?"YES":"NO" );
+
+ ans=CmdFSKdemodHID("");
+ PrintAndLog("HID: %s", (ans)?"YES":"NO" );
+
+ ans=CmdFSKdemodIO("");
+ PrintAndLog("IO prox: %s", (ans)?"YES":"NO" );
+
+ ans=CmdIndalaDemod("");
+ PrintAndLog("Indala (64): %s", (ans)?"YES":"NO" );
+
+ ans=CmdIndalaDemod("224");
+ PrintAndLog("Indala (224): %s", (ans)?"YES":"NO" );
+
+ if (!ans)
+ PrintAndLog("No Known Tags Found!\n");
+
+ return 0;
+}
+
static command_t CommandTable[] =
{
{"help", CmdHelp, 1, "This help"},
{"read", CmdLFRead, 0, "['h' or <divisor>] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"},
+ {"search", CmdLFfind, 1, "Read and Search for valid known tag (in offline mode it you can load first then search)"},
{"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"},
{"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"},
{"simman", CmdLFSimManchester, 0, "<Clock> <Bitstream> [GAP] Simulate arbitrary Manchester LF tag"},
{"snoop", CmdLFSnoop, 0, "['l'|'h'|<divisor>] [trigger threshold]-- Snoop LF (l:125khz, h:134khz)"},
- {"avid", CmdLFAWID26, 1, "{ AWID26 tags }"},
+ {"awid26", CmdLFAWID26, 1, "{ AWID26 tags }"},
{"em4x", CmdLFEM4X, 1, "{ EM4X tags }"},
{"hid", CmdLFHID, 1, "{ HID tags }"},
{"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders }"},