]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlf.c
Merge branch 'master' of https://github.com/Proxmark/proxmark3
[proxmark3-svn] / client / cmdlf.c
index 572cda6ca418a9babcd6bbc0b77f706eea0769e2..07a8750f7d20e3b9a3131003276136892ed7824a 100644 (file)
@@ -19,6 +19,7 @@
 #include "cmdparser.h"
 #include "cmdmain.h"
 #include "cmddata.h"
+#include "util.h"
 #include "cmdlf.h"
 #include "cmdlfhid.h"
 #include "cmdlfti.h"
@@ -387,7 +388,7 @@ static void ChkBitstream(const char *str)
     }
   }
 }
-
+//appears to attempt to simulate manchester
 int CmdLFSim(const char *Cmd)
 {
        int i,j;
@@ -464,8 +465,11 @@ int CmdLFSnoop(const char *Cmd)
     sscanf(Cmd, "h %"lli, &c.arg[1]);
   } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) {
                PrintAndLog("usage 1:  snoop");
-               PrintAndLog("      2:  snoop {l,h} [trigger threshold]");
+               PrintAndLog("      2:  snoop <l|h> [trigger threshold]");
                PrintAndLog("      3:  snoop <divisor> [trigger threshold]");
+               PrintAndLog("");
+               PrintAndLog("Sample: lf snoop l 200");
+               PrintAndLog("      : lf snoop 95 200");
     return 0;
   }
 
@@ -565,26 +569,52 @@ int CmdLFfind(const char *Cmd)
                return 0;
        }
 
-       if (!offline || (cmdp != '1') ){
+       if (!offline && (cmdp != '1')){
     ans=CmdLFRead("");
-       ans=CmdSamples("20000");
+    ans=CmdSamples("20000");
        } else if (GraphTraceLen < 1000) {
                PrintAndLog("Data in Graphbuffer was too small.");
                return 0;
   }
 
-  PrintAndLog("Checking for known tags:");
-  ans=Cmdaskmandemod("");
-  if (ans>0) return 1;
-  ans=CmdFSKdemodHID("");
-  if (ans>0) return 1;
+  PrintAndLog("NOTE: some demods output possible binary\n  if it finds something that looks like a tag");
+  PrintAndLog("\nChecking for known tags:\n");
   ans=CmdFSKdemodIO("");
-  if (ans>0) return 1;
+  if (ans>0) {
+    PrintAndLog("\nValid IO Prox ID Found!");
+    return 1;
+  }
+  ans=CmdFSKdemodPyramid("");
+  if (ans>0) {
+    PrintAndLog("\nValid Pyramid ID Found!");
+    return 1;
+  }
+  ans=CmdFSKdemodParadox("");
+  if (ans>0) {
+    PrintAndLog("\nValid Paradox ID Found!");
+    return 1;
+  }
+  ans=CmdFSKdemodAWID("");
+  if (ans>0) {
+    PrintAndLog("\nValid AWID ID Found!");
+    return 1;
+  }
+  ans=CmdFSKdemodHID("");
+  if (ans>0) {
+    PrintAndLog("\nValid HID Prox ID Found!");
+    return 1;
+  }
   //add psk and indala
-  ans=CmdIndalaDemod("");
-  if (ans>0) return 1;
-  ans=CmdIndalaDemod("224");
-  if (ans>0) return 1;
+  ans=CmdIndalaDecode("");
+  if (ans>0) {
+    PrintAndLog("\nValid Indala ID Found!");
+    return 1;
+  }
+  ans=Cmdaskmandemod("");
+  if (ans>0) {
+    PrintAndLog("\nValid EM410x ID Found!");
+    return 1;
+  }
   PrintAndLog("No Known Tags Found!\n");
   return 0;
 }
Impressum, Datenschutz