From c819121d2bfc359c3fce9e3e4c1e965af9ef734d Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Fri, 3 Apr 2020 17:37:46 +0200 Subject: [PATCH] Chg: hf search - now continues to search, in case of dual tech cards. Thanks to @ikarus23 --- client/cmdhf.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index 418cc8b90..e1ed4c799 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -85,12 +85,14 @@ int CmdHFSearch(const char *Cmd) { char cmdp = tolower(param_getchar(Cmd, 0)); if (cmdp == 'h') return usage_hf_search(); + int res = PM3_ESOFT; + PROMPT_CLEARLINE; PrintAndLogEx(INPLACE, "Searching for ThinFilm tag..."); if (IfPm3NfcBarcode()) { if (infoThinFilm(false) == PM3_SUCCESS) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Thinfilm tag") "found\n"); - return PM3_SUCCESS; + res = PM3_SUCCESS; } } @@ -99,7 +101,7 @@ int CmdHFSearch(const char *Cmd) { if (IfPm3Iso14443a()) { if (infoLTO(false) == PM3_SUCCESS) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("LTO-CM tag") "found\n"); - return PM3_SUCCESS; + res = PM3_SUCCESS; } } @@ -108,7 +110,7 @@ int CmdHFSearch(const char *Cmd) { if (IfPm3Iso14443a()) { if (infoHF14A(false, false, false) > 0) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("ISO14443-A tag") "found\n"); - return PM3_SUCCESS; + res = PM3_SUCCESS; } } @@ -117,7 +119,7 @@ int CmdHFSearch(const char *Cmd) { if (IfPm3Iso15693()) { if (readHF15Uid(false)) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("ISO15693 tag") "found\n"); - return PM3_SUCCESS; + res = PM3_SUCCESS; } } @@ -126,16 +128,16 @@ int CmdHFSearch(const char *Cmd) { if (IfPm3Legicrf()) { if (readLegicUid(false) == PM3_SUCCESS) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("LEGIC tag") "found\n"); - return PM3_SUCCESS; + res = PM3_SUCCESS; } } PROMPT_CLEARLINE; PrintAndLogEx(INPLACE, "Searching for Topaz tag..."); if (IfPm3Iso14443a()) { - if (readTopazUid() == PM3_SUCCESS) { + if (readTopazUid(false) == PM3_SUCCESS) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("Topaz tag") "found\n"); - return PM3_SUCCESS; + res = PM3_SUCCESS; } } @@ -144,7 +146,7 @@ int CmdHFSearch(const char *Cmd) { if (IfPm3Felica()) { if (readFelicaUid(false) == PM3_SUCCESS) { PrintAndLogEx(NORMAL, "\nValid " _GREEN_("ISO18092 / FeliCa tag") "found\n"); - return PM3_SUCCESS; + res = PM3_SUCCESS; } } @@ -154,7 +156,7 @@ int CmdHFSearch(const char *Cmd) { if (IfPm3Iso14443a()) { if (readHF14B(false) == 1) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("ISO14443-B tag") "found\n"); - return PM3_SUCCESS; + res = PM3_SUCCESS; } } @@ -163,14 +165,18 @@ int CmdHFSearch(const char *Cmd) { if (IfPm3Iclass()) { if (readIclass(false, false) == PM3_SUCCESS) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("iClass tag / PicoPass tag") "found\n"); - return PM3_SUCCESS; + res = PM3_SUCCESS; } } PROMPT_CLEARLINE; - PrintAndLogEx(INPLACE, _RED_("No known/supported 13.56 MHz tags found")); - PrintAndLogEx(NORMAL, ""); - return PM3_ESOFT; + if (res != PM3_SUCCESS) { + + PrintAndLogEx(INPLACE, _RED_("No known/supported 13.56 MHz tags found")); + res = PM3_ESOFT; + } + printf("\n"); + return res; } int CmdHFTune(const char *Cmd) {