]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlf.c
CHG: made some debugs statements more clear, when "LF SEARCH" is used with "DATA...
[proxmark3-svn] / client / cmdlf.c
index 6cd9b7f069d082045ba140332d1538c016c3170e..6ed53477eda4abf8b3065e96db481200c03a2247 100644 (file)
@@ -249,8 +249,9 @@ int CmdFlexdemod(const char *Cmd)
   
 int CmdIndalaDemod(const char *Cmd)
 {
   
 int CmdIndalaDemod(const char *Cmd)
 {
+       // PSK1, Bitrate 32, 
+       
        // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID
        // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID
-
        int state = -1;
        int count = 0;
        int i, j;
        int state = -1;
        int count = 0;
        int i, j;
@@ -597,7 +598,7 @@ int CmdLFSim(const char *Cmd) {
        ChkBitstream(Cmd);
 
        if (g_debugMode) 
        ChkBitstream(Cmd);
 
        if (g_debugMode) 
-               printf("Sending [%d bytes]", GraphTraceLen);
+               printf("DEBUG: Sending [%d bytes]\n", GraphTraceLen);
        
        //can send only 512 bits at a time (1 byte sent per bit...)
        for (i = 0; i < GraphTraceLen; i += USB_CMD_DATA_SIZE) {
        
        //can send only 512 bits at a time (1 byte sent per bit...)
        for (i = 0; i < GraphTraceLen; i += USB_CMD_DATA_SIZE) {
@@ -612,7 +613,7 @@ int CmdLFSim(const char *Cmd) {
                printf(".");
        }
 
                printf(".");
        }
 
-       PrintAndLog("\nStarting to simulate");
+       PrintAndLog("Starting to simulate");
 
        UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}};
        clearCommandBuffer();
 
        UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}};
        clearCommandBuffer();
@@ -733,6 +734,7 @@ int CmdLFaskSim(const char *Cmd)
        
        while(param_getchar(Cmd, cmdp) != 0x00) {
                switch(param_getchar(Cmd, cmdp)) {
        
        while(param_getchar(Cmd, cmdp) != 0x00) {
                switch(param_getchar(Cmd, cmdp)) {
+                       case 'H':
                        case 'h': return usage_lf_simask();
                        case 'i':
                                invert = 1;
                        case 'h': return usage_lf_simask();
                        case 'i':
                                invert = 1;
@@ -791,7 +793,7 @@ int CmdLFaskSim(const char *Cmd)
                setDemodBuf(data, dataLen, 0);
        }
        if (clk == 0) clk = 64;
                setDemodBuf(data, dataLen, 0);
        }
        if (clk == 0) clk = 64;
-       if (encoding == 0) clk = clk/2; //askraw needs to double the clock speed
+       if (encoding == 0) clk >>= 2; //askraw needs to double the clock speed
        
        size_t size = DemodBufferLen;
 
        
        size_t size = DemodBufferLen;
 
@@ -1011,13 +1013,18 @@ int CmdLFfind(const char *Cmd) {
 
        if (!offline && (cmdp != '1')){
                CmdLFRead("s");
 
        if (!offline && (cmdp != '1')){
                CmdLFRead("s");
-               getSamples("30000",false);
+               getSamples("30000", TRUE);
        } else if (GraphTraceLen < 1000) {
                PrintAndLog("Data in Graphbuffer was too small.");
                return 0;
        }
        if (cmdp == 'u' || cmdp == 'U') testRaw = 'u';
 
        } else if (GraphTraceLen < 1000) {
                PrintAndLog("Data in Graphbuffer was too small.");
                return 0;
        }
        if (cmdp == 'u' || cmdp == 'U') testRaw = 'u';
 
+       // if ( justNoise(GraphBuffer, GraphTraceLen) ) {
+               // PrintAndLog("Signal looks just like noise. Quitting.");
+               // return 0;
+       // }
+       
        PrintAndLog("NOTE: some demods output possible binary\n  if it finds something that looks like a tag");
        PrintAndLog("False Positives ARE possible\n");  
        PrintAndLog("\nChecking for known tags:\n");
        PrintAndLog("NOTE: some demods output possible binary\n  if it finds something that looks like a tag");
        PrintAndLog("False Positives ARE possible\n");  
        PrintAndLog("\nChecking for known tags:\n");
@@ -1092,6 +1099,21 @@ int CmdLFfind(const char *Cmd) {
                PrintAndLog("\nValid NEDAP ID Found!");
                return 1;
        }
                PrintAndLog("\nValid NEDAP ID Found!");
                return 1;
        }
+       ans=CmdVisa2kDemod("");
+       if (ans>0) {
+               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!");
+               return 1;
+       }
        // TIdemod?
        
 
        // TIdemod?
        
 
@@ -1164,15 +1186,18 @@ static command_t CommandTable[] =
        {"guard",       CmdLFGuard,         1, "{ Guardall RFIDs... }"},
        {"hid",         CmdLFHID,           1, "{ HID RFIDs... }"},
        {"hitag",       CmdLFHitag,         1, "{ HITAG RFIDs... }"},
        {"guard",       CmdLFGuard,         1, "{ Guardall RFIDs... }"},
        {"hid",         CmdLFHID,           1, "{ HID RFIDs... }"},
        {"hitag",       CmdLFHitag,         1, "{ HITAG RFIDs... }"},
+//     {"indala",              CmdLFIndala,            1, "{ Indala RFIDs... }"},
        {"io",                  CmdLFIO,                        1, "{ IOPROX 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... }"},       
        {"ti",          CmdLFTI,            1, "{ TI RFIDs... }"},
        {"t55xx",       CmdLFT55XX,         1, "{ T55xx RFIDs... }"},
        {"viking",      CmdLFViking,        1, "{ Viking RFIDs... }"},
        {"pcf7931",     CmdLFPCF7931,       1, "{ PCF7931 RFIDs... }"},
        {"presco",      CmdLFPresco,        1, "{ Presco RFIDs... }"},
        {"pyramid",             CmdLFPyramid,       1, "{ Farpointe/Pyramid RFIDs... }"},       
        {"ti",          CmdLFTI,            1, "{ TI RFIDs... }"},
        {"t55xx",       CmdLFT55XX,         1, "{ T55xx RFIDs... }"},
        {"viking",      CmdLFViking,        1, "{ Viking RFIDs... }"},
+       {"visa2000",    CmdLFVisa2k,        1, "{ Visa2000 RFIDs... }"},
        {"config",      CmdLFSetConfig,     0, "Set config for LF sampling, bit/sample, decimation, frequency"},
        {"cmdread",     CmdLFCommandRead,   0, "<off period> <'0' period> <'1' period> <command> ['h' 134] \n\t\t-- Modulate LF reader field to send command before read (all periods in microseconds)"},
        {"flexdemod",   CmdFlexdemod,       1, "Demodulate samples for FlexPass"},
        {"config",      CmdLFSetConfig,     0, "Set config for LF sampling, bit/sample, decimation, frequency"},
        {"cmdread",     CmdLFCommandRead,   0, "<off period> <'0' period> <'1' period> <command> ['h' 134] \n\t\t-- Modulate LF reader field to send command before read (all periods in microseconds)"},
        {"flexdemod",   CmdFlexdemod,       1, "Demodulate samples for FlexPass"},
Impressum, Datenschutz