]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhf.c
ADD: Added the autodetection of Topaz to "HF SEARCH"
[proxmark3-svn] / client / cmdhf.c
index f6fb3a9925f0f2678eb5e766da9f38f94208e1c2..0b4aa3794835516c632dad558a5b6c7d7f5ace42 100644 (file)
@@ -31,9 +31,11 @@ static int CmdHelp(const char *Cmd);
 
 int CmdHFTune(const char *Cmd)
 {
-  UsbCommand c={CMD_MEASURE_ANTENNA_TUNING_HF};
-  SendCommand(&c);
-  return 0;
+       PrintAndLog("Measuring HF antenna, press button to exit");
+       UsbCommand c = {CMD_MEASURE_ANTENNA_TUNING_HF};
+       clearCommandBuffer();
+       SendCommand(&c);
+       return 0;
 }
 
 
@@ -644,6 +646,8 @@ int usage_hf_snoop(){
 
 int CmdHFList(const char *Cmd)
 {
+       clearCommandBuffer();
+               
        bool showWaitCycles = false;
        bool markCRCBytes = false;
        char type[10] = {0};
@@ -746,6 +750,11 @@ int CmdHFSearch(const char *Cmd){
                PrintAndLog("\nValid ISO15693 Tag Found - Quiting Search\n");
                return ans;
        }
+       ans = CmdHFTopazReader("");
+       if (ans == 0) {
+               PrintAndLog("\nValid Topaz Tag Found - Quiting Search\n");
+               return 1;
+       }
        PrintAndLog("\nno known/supported 13.56 MHz tags found\n");
        return 0;
 }
@@ -759,38 +768,37 @@ int CmdHFSnoop(const char *Cmd)
        int skiptriggers =  param_get32ex(Cmd, 1, 0, 10);
        
        UsbCommand c = {CMD_HF_SNIFFER, {skippairs,skiptriggers,0}};
+       clearCommandBuffer();
        SendCommand(&c);
        return 0;
 }
 
-static command_t CommandTable[] = 
-{
-  {"help",        CmdHelp,          1, "This help"},
-  {"14a",         CmdHF14A,         1, "{ ISO14443A RFIDs... }"},
-  {"14b",         CmdHF14B,         1, "{ ISO14443B RFIDs... }"},
-  {"15",          CmdHF15,          1, "{ ISO15693 RFIDs... }"},
-  {"epa",         CmdHFEPA,         1, "{ German Identification Card... }"},
-  {"legic",       CmdHFLegic,       0, "{ LEGIC RFIDs... }"},
-  {"iclass",      CmdHFiClass,      1, "{ ICLASS RFIDs... }"},
-  {"mf",               CmdHFMF,                1, "{ MIFARE RFIDs... }"},
-  {"mfu",         CmdHFMFUltra,     1, "{ MIFARE Ultralight RFIDs... }"},
-  {"mfdes",                    CmdHFMFDes,             1, "{ MIFARE Desfire RFIDs... }"},
-  {"topaz",                    CmdHFTopaz,             1, "{ TOPAZ (NFC Type 1) RFIDs... }"},
-  {"tune",                     CmdHFTune,      0, "Continuously measure HF antenna tuning"},
-  {"list",        CmdHFList,        1, "List protocol data in trace buffer"},
-  {"search",      CmdHFSearch,      1, "Search for known HF tags [preliminary]"},
-  {"snoop",       CmdHFSnoop,       0, "<samples to skip (10000)> <triggers to skip (1)> Generic LF/HF Snoop in Testing stage"},
+static command_t CommandTable[] = {
+       {"help",        CmdHelp,          1, "This help"},
+       {"14a",         CmdHF14A,         1, "{ ISO14443A RFIDs... }"},
+       {"14b",         CmdHF14B,         1, "{ ISO14443B RFIDs... }"},
+       {"15",          CmdHF15,          1, "{ ISO15693 RFIDs... }"},
+       {"epa",         CmdHFEPA,         1, "{ German Identification Card... }"},
+       {"legic",       CmdHFLegic,       0, "{ LEGIC RFIDs... }"},
+       {"iclass",      CmdHFiClass,      1, "{ ICLASS RFIDs... }"},
+       {"mf",          CmdHFMF,                  1, "{ MIFARE RFIDs... }"},
+       {"mfu",         CmdHFMFUltra,     1, "{ MIFARE Ultralight RFIDs... }"},
+       {"mfdes",               CmdHFMFDes,               1, "{ MIFARE Desfire RFIDs... }"},
+       {"topaz",               CmdHFTopaz,               1, "{ TOPAZ (NFC Type 1) RFIDs... }"},
+       {"tune",                CmdHFTune,            0, "Continuously measure HF antenna tuning"},
+       {"list",        CmdHFList,        1, "List protocol data in trace buffer"},
+       {"search",      CmdHFSearch,      1, "Search for known HF tags [preliminary]"},
+       {"snoop",       CmdHFSnoop,       0, "<samples to skip (10000)> <triggers to skip (1)> Generic LF/HF Snoop in Testing stage"},
        {NULL, NULL, 0, NULL}
 };
 
-int CmdHF(const char *Cmd)
-{
-  CmdsParse(CommandTable, Cmd);
-  return 0; 
+int CmdHF(const char *Cmd) {
+       clearCommandBuffer();
+       CmdsParse(CommandTable, Cmd);
+       return 0; 
 }
 
-int CmdHelp(const char *Cmd)
-{
-  CmdsHelp(CommandTable);
-  return 0;
+int CmdHelp(const char *Cmd) {
+       CmdsHelp(CommandTable);
+       return 0;
 }
Impressum, Datenschutz