From fa65a1e0425248489f6d99ef2647362aaf398719 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 17 Feb 2024 14:12:11 +0100 Subject: [PATCH] add SEOS hint --- client/src/cmdhf14a.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/client/src/cmdhf14a.c b/client/src/cmdhf14a.c index 3a7784b2c..36a7fa197 100644 --- a/client/src/cmdhf14a.c +++ b/client/src/cmdhf14a.c @@ -1776,6 +1776,7 @@ static int detect_nxp_card(uint8_t sak, uint16_t atqa, uint64_t select_status) { printTag("MIFARE DESFire EV2 2K/4K/8K/16K/32K"); printTag("MIFARE DESFire EV3 2K/4K/8K"); printTag("MIFARE DESFire Light 640B"); + type |= MTDESFIRE; } else { printTag("MIFARE Plus EV1 2K/4K CL2 in SL3"); printTag("MIFARE Plus S 2K/4K CL2 in SL3"); @@ -2012,6 +2013,7 @@ int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) { bool isFUDAN = false; bool isISO18092 = false; bool isNTAG424 = false; + bool isSEOS = false; int nxptype = MTNONE; if (card.uidlen <= 4) { @@ -2022,18 +2024,13 @@ int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) { isMifarePlus = ((nxptype & MTPLUS) == MTPLUS); isMifareUltralight = ((nxptype & MTULTRALIGHT) == MTULTRALIGHT); isNTAG424 = ((nxptype & MT424) == MT424); + isFUDAN = ((nxptype & MTFUDAN) == MTFUDAN); + isEMV = ((nxptype & MTEMV) == MTEMV); + isISO18092 = ((nxptype & MTISO18092) == MTISO18092); + isSEOS = ((nxptype & HID_SEOS) == HID_SEOS); - if ((nxptype & MTOTHER) == MTOTHER) - isMifareClassic = true; - - if ((nxptype & MTFUDAN) == MTFUDAN) - isFUDAN = true; - - if ((nxptype & MTEMV) == MTEMV) - isEMV = true; - - if ((nxptype & MTISO18092) == MTISO18092) - isISO18092 = true; + // generic catch, we assume MIFARE Classic for all unknown ISO14443a tags + isMifareClassic = ((nxptype & MTOTHER) == MTOTHER); } else { @@ -2544,7 +2541,7 @@ int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) { PrintAndLogEx(HINT, "Hint: try `" _YELLOW_("hf mfu info") "`"); } - if (isMifarePlus && (isMagic == MAGIC_FLAG_NONE) && isEMV == false) { + if (isMifarePlus && (isMagic == MAGIC_FLAG_NONE)) { PrintAndLogEx(HINT, "Hint: try `" _YELLOW_("hf mfp info") "`"); } @@ -2560,6 +2557,10 @@ int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) { PrintAndLogEx(HINT, "Hint: try `" _YELLOW_("emv reader") "`"); } + if (isSEOS) { + PrintAndLogEx(HINT, "Hint: try `" _YELLOW_("hf seos info") "`"); + } + if (isFUDAN) { PrintAndLogEx(HINT, "Hint: try `" _YELLOW_("hf fudan dump") "`"); /*