]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlf.c
CHG: 'lf snoop' - now automatically downloads samples after finished. (annoying...
[proxmark3-svn] / client / cmdlf.c
index e1cb1bdf865c08dc33f3123d29a6fac10d60a87d..eb2f7cde15455992b455af8a75dc7079c4e6496f 100644 (file)
@@ -36,11 +36,10 @@ int usage_lf_read(void){
        return 0;
 }
 int usage_lf_snoop(void) {
-       PrintAndLog("Usage: lf snoop");
+       PrintAndLog("Snoop low frequence signal. Use 'lf config' to set parameters.");
+       PrintAndLog("Usage: lf snoop [h]");
        PrintAndLog("Options:");
-       PrintAndLog("       h            This help");
-       PrintAndLog("This function takes no arguments. ");
-       PrintAndLog("Use 'lf config' to set parameters.");
+       PrintAndLog("      h         This help");
        return 0;
 }
 int usage_lf_config(void) {
@@ -568,10 +567,11 @@ int CmdLFSnoop(const char *Cmd) {
        uint8_t cmdp = param_getchar(Cmd, 0);
        if(cmdp == 'h' || cmdp == 'H') return usage_lf_snoop();
        
-       UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES};
+       UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES,{0,0,0}};
        clearCommandBuffer();   
        SendCommand(&c);
        WaitForResponse(CMD_ACK,NULL);
+       getSamples("", false);
        return 0;
 }
 
@@ -602,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();
@@ -1087,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!");
@@ -1114,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'){
@@ -1181,6 +1192,7 @@ static command_t CommandTable[] =
        {"help",        CmdHelp,            1, "This help"},
        {"animal",      CmdLFFdx,           1, "{ Animal RFIDs... }"},
        {"awid",        CmdLFAWID,          1, "{ AWID RFIDs... }"},
+       {"cotag",       CmdLFCOTAG,         1, "{ COTAG RFIDs... }"},
        {"em4x",        CmdLFEM4X,          1, "{ EM4X RFIDs... }"},
        {"guard",       CmdLFGuard,         1, "{ Guardall RFIDs... }"},
        {"hid",         CmdLFHID,           1, "{ HID RFIDs... }"},
@@ -1209,7 +1221,7 @@ static command_t CommandTable[] =
        {"simfsk",      CmdLFfskSim,        0, "[c <clock>] [i] [H <fcHigh>] [L <fcLow>] [d <hexdata>] \n\t\t-- Simulate LF FSK tag from demodbuffer or input"},
        {"simpsk",      CmdLFpskSim,        0, "[1|2|3] [c <clock>] [i] [r <carrier>] [d <raw hex to sim>] \n\t\t-- Simulate LF PSK tag from demodbuffer or input"},
        {"simbidir",    CmdLFSimBidir,      0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"},
-       {"snoop",       CmdLFSnoop,         0, "['l'|'h'|<divisor>] [trigger threshold]-- Snoop LF (l:125khz, h:134khz)"},
+       {"snoop",       CmdLFSnoop,         0, "Snoop LF"},
        {"vchdemod",    CmdVchDemod,        1, "['clone'] -- Demodulate samples for VeriChip"},
        {NULL, NULL, 0, NULL}
 };
Impressum, Datenschutz