]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlf.c
ADD: 'lf search' - added @marshmellow42 's hitag2 identification
[proxmark3-svn] / client / cmdlf.c
index e157baffbfc8ca9e763e4275038dc96f07a303cb..43131428df70bcc7e8d7df52263a3c23bf278d50 100644 (file)
@@ -294,12 +294,11 @@ int CmdIndalaDemod(const char *Cmd)
                        count = 0;
                }
        }
+       if ( rawbit<1 ) return 0;
 
-       if ( rawbit>0 ){
+       if (g_debugMode) {
                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
@@ -327,15 +326,14 @@ int CmdIndalaDemod(const char *Cmd)
        }
   
        if (start == rawbit - uidlen + 1) {
-               PrintAndLog("nothing to wait for");
+               if (g_debugMode) PrintAndLog("nothing to wait for");
                return 0;
        }
 
        // Inverting signal if needed
        if (first == 1) {
-               for (i = start; i < rawbit; i++) {
+               for (i = start; i < rawbit; i++)
                        rawbits[i] = !rawbits[i];
-               }
        }
 
        // Dumping UID
@@ -414,7 +412,7 @@ int CmdIndalaDemod(const char *Cmd)
                times += 1;
        }
 
-       PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen);
+       if (g_debugMode) PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen);
 
        // Remodulating for tag cloning
        // HACK: 2015-01-04 this will have an impact on our new way of seening lf commands (demod) 
@@ -604,16 +602,16 @@ int CmdLFSim(const char *Cmd) {
        for (i = 0; i < GraphTraceLen; i += USB_CMD_DATA_SIZE) {
                UsbCommand c = {CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}};
 
-               for (j = 0; j < USB_CMD_DATA_SIZE; j++) {
+               for (j = 0; j < USB_CMD_DATA_SIZE; j++)
                        c.d.asBytes[j] = GraphBuffer[i+j];
-               }
+
                clearCommandBuffer();
                SendCommand(&c);
                WaitForResponse(CMD_ACK, NULL);
                printf(".");
        }
 
-       PrintAndLog("Starting to simulate");
+       PrintAndLog("Simulating");
 
        UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}};
        clearCommandBuffer();
@@ -1089,6 +1087,11 @@ int CmdLFfind(const char *Cmd) {
                PrintAndLog("\nValid NexWatch ID Found!");
                return 1;
        }
+       ans=CmdPSKIdteck("");
+       if (ans>0) {
+               PrintAndLog("\nValid Idteck ID Found!");
+               return 1;
+       }
        ans=CmdJablotronDemod("");
        if (ans>0) {
                PrintAndLog("\nValid Jablotron ID Found!");
@@ -1104,6 +1107,11 @@ int CmdLFfind(const char *Cmd) {
                PrintAndLog("\nValid Visa2000 ID Found!");
                return 1;
        }
+       ans=CmdNoralsyDemod("");
+       if (ans>0) {
+               PrintAndLog("\nValid Noralsy ID Found!");
+               return 1;
+       }
        ans=CmdPrescoDemod("");
        if (ans>0) {
                PrintAndLog("\nValid Presco ID Found!");
@@ -1111,6 +1119,12 @@ int CmdLFfind(const char *Cmd) {
        }
        // TIdemod?
        
+       if (!offline && (cmdp != '1')){
+               ans=CmdLFHitagReader("26");
+               if (ans==0) {
+                       return 1;
+               }
+       }
 
        PrintAndLog("\nNo Known Tags Found!\n");
        if (testRaw=='u' || testRaw=='U'){
@@ -1176,6 +1190,7 @@ int CmdLFfind(const char *Cmd) {
 static command_t CommandTable[] = 
 {
        {"help",        CmdHelp,            1, "This help"},
+       {"animal",      CmdLFFdx,           1, "{ Animal RFIDs... }"},
        {"awid",        CmdLFAWID,          1, "{ AWID RFIDs... }"},
        {"em4x",        CmdLFEM4X,          1, "{ EM4X RFIDs... }"},
        {"guard",       CmdLFGuard,         1, "{ Guardall RFIDs... }"},
@@ -1183,8 +1198,9 @@ static command_t CommandTable[] =
        {"hitag",       CmdLFHitag,         1, "{ HITAG RFIDs... }"},
 //     {"indala",              CmdLFIndala,            1, "{ Indala RFIDs... }"},
        {"io",                  CmdLFIO,                        1, "{ IOPROX RFIDs... }"},
-       {"jablotron",   CmdLFJablotron,         1, "{ JABLOTRON RFIDs... }"},
-       {"nedap",               CmdLFNedap,                     1, "{ NEDAP RFIDs... }"},
+       {"jablotron",   CmdLFJablotron,         1, "{ Jablotron RFIDs... }"},
+       {"nedap",               CmdLFNedap,                     1, "{ Nedap RFIDs... }"},
+       {"noralsy",             CmdLFNoralsy,           1, "{ Noralsy RFIDs... }"},     
        {"pcf7931",     CmdLFPCF7931,       1, "{ PCF7931 RFIDs... }"},
        {"presco",      CmdLFPresco,        1, "{ Presco RFIDs... }"},
        {"pyramid",             CmdLFPyramid,       1, "{ Farpointe/Pyramid RFIDs... }"},       
Impressum, Datenschutz