]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlf.c
ADD: midnitesnakes desfire, ultralight changes from Unstable branch.
[proxmark3-svn] / client / cmdlf.c
index 132a4c5fc6b1af2df43474d7635e46a96a427264..70db0575a3aea0beb289ec76b7edfef95c8bb303 100644 (file)
@@ -20,6 +20,7 @@
 #include "cmdmain.h"
 #include "cmddata.h"
 #include "cmdlf.h"
+#include "cmdlfawid26.h"
 #include "cmdlfhid.h"
 #include "cmdlfti.h"
 #include "cmdlfem4x.h"
@@ -170,9 +171,10 @@ int CmdIndalaDemod(const char *Cmd)
       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) {
@@ -302,7 +304,7 @@ int CmdIndalaDemod(const char *Cmd)
   }
 
   RepaintGraphWindow();
-  return 0;
+  return 1;
 }
 
 int CmdIndalaClone(const char *Cmd)
@@ -370,6 +372,9 @@ int CmdLFRead(const char *Cmd)
   }
   SendCommand(&c);
   WaitForResponse(CMD_ACK,NULL);
+  
+  // load samples 
+  CmdSamples("");
   return 0;
 }
 
@@ -563,6 +568,36 @@ int CmdVchDemod(const char *Cmd)
   return 0;
 }
 
+//by marshmellow
+int CmdLFfind(const char *Cmd)
+{
+  int ans=0;
+  if (!offline){
+    ans=CmdLFRead("");
+    //ans=CmdSamples("20000");
+  }
+  if (GraphTraceLen<1000) 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" );
+       
+  //PrintAndLog("No Known Tags Found!\n");
+  return 0;
+}
+
 static command_t CommandTable[] = 
 {
   {"help",        CmdHelp,            1, "This help"},
@@ -575,11 +610,13 @@ static command_t CommandTable[] =
 
   
   {"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)"},
   
+  {"awid26",        CmdLFAWID26,        1, "{ AWID26 tags }"},
   {"em4x",        CmdLFEM4X,          1, "{ EM4X tags }"},      
   {"hid",         CmdLFHID,           1, "{ HID tags }"},
   {"hitag",       CmdLFHitag,         1, "{ Hitag tags and transponders }"},
Impressum, Datenschutz