diff --git a/client/cmdhf.c b/client/cmdhf.c index 1960de2ee..dd21c2649 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -91,7 +91,7 @@ int CmdHFSearch(const char *Cmd) { PROMPT_CLEARLINE; PrintAndLogEx(INPLACE, "Searching for ISO14443-A tag..."); if (IfPm3Iso14443a()) { - if (infoHF14A(false, false) > 0) { + if (infoHF14A(false, false, false) > 0) { PrintAndLogEx(SUCCESS, "\nValid " _GREEN_("ISO14443-A tag") " found\n"); return PM3_SUCCESS; } diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 519a8b0f2..39167056a 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -26,6 +26,7 @@ #include "ui.h" #include "crc16.h" #include "util_posix.h" // msclock +#include "aidsearch.h" bool APDUInFramingEnable = true; @@ -372,7 +373,7 @@ static int CmdHF14AInfo(const char *Cmd) { bool verbose = !(Cmd[0] == 's' || Cmd[0] == 'S'); bool do_nack_test = (Cmd[0] == 'n' || Cmd[0] == 'N'); - infoHF14A(verbose, do_nack_test); + infoHF14A(verbose, do_nack_test, true); return 0; } @@ -1225,7 +1226,7 @@ int CmdHF14A(const char *Cmd) { return CmdsParse(CommandTable, Cmd); } -int infoHF14A(bool verbose, bool do_nack_test) { +int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) { clearCommandBuffer(); SendCommandMIX(CMD_HF_ISO14443A_READER, ISO14A_CONNECT | ISO14A_NO_DISCONNECT, 0, 0, NULL, 0); PacketResponseNG resp; @@ -1493,6 +1494,10 @@ int infoHF14A(bool verbose, bool do_nack_test) { } } } + + if (do_aid_search) { + PrintAIDDescription("315041592E5359532E4444463031", true); + } } else { PrintAndLogEx(INFO, "proprietary non iso14443-4 card found, RATS not supported"); } diff --git a/client/cmdhf14a.h b/client/cmdhf14a.h index 9c42b9afd..fcea5f5cf 100644 --- a/client/cmdhf14a.h +++ b/client/cmdhf14a.h @@ -26,7 +26,7 @@ int CmdHF14A(const char *Cmd); int CmdHF14ASniff(const char *Cmd); // used by hf topaz sniff int CmdHF14ASim(const char *Cmd); // used by hf mfu sim -int infoHF14A(bool verbose, bool do_nack_test); +int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search); const char *getTagInfo(uint8_t uid); int Hf14443_4aGetCardData(iso14a_card_select_t *card); int ExchangeAPDU14a(uint8_t *datain, int datainlen, bool activateField, bool leaveSignalON, uint8_t *dataout, int maxdataoutlen, int *dataoutlen); diff --git a/client/cmdhffido.c b/client/cmdhffido.c index 8930e237d..a0a8793c0 100644 --- a/client/cmdhffido.c +++ b/client/cmdhffido.c @@ -47,7 +47,7 @@ static int CmdHFFidoInfo(const char *cmd) { PrintAndLogEx(WARNING, "WARNING: command doesn't have any parameters.\n"); // info about 14a part - infoHF14A(false, false); + infoHF14A(false, false, false); // FIDO info PrintAndLogEx(NORMAL, "--------------------------------------------"); diff --git a/client/cmdhfmfp.c b/client/cmdhfmfp.c index 58eb5db1a..c6af6305a 100644 --- a/client/cmdhfmfp.c +++ b/client/cmdhfmfp.c @@ -36,7 +36,7 @@ static int CmdHFMFPInfo(const char *cmd) { PrintAndLogEx(WARNING, "command don't have any parameters.\n"); // info about 14a part - infoHF14A(false, false); + infoHF14A(false, false, false); // Mifare Plus info SendCommandMIX(CMD_HF_ISO14443A_READER, ISO14A_CONNECT | ISO14A_NO_DISCONNECT, 0, 0, NULL, 0);