hf mf info - dont try fudan cards
Some checks are pending
CodeQL / Analyze (push) Waiting to run
MacOS Build and Test / macos-cmake (push) Waiting to run
MacOS Build and Test / macos-make (push) Waiting to run
MacOS Build and Test / macos-make-btaddon (push) Waiting to run
Ubuntu Build and Test / ubuntu-make (push) Waiting to run
Ubuntu Build and Test / ubuntu-make-btaddon (push) Waiting to run
Ubuntu Build and Test / ubuntu-cmake (push) Waiting to run
Windows Build and Test / proxspace (push) Waiting to run
Windows Build and Test / wsl (push) Waiting to run

This commit is contained in:
iceman1001 2025-06-29 23:38:27 +02:00
commit 5b37fe8af6
3 changed files with 17 additions and 10 deletions

View file

@ -3147,18 +3147,18 @@ int infoHF14A(bool verbose, bool do_nack_test, bool do_aid_search) {
if (isMifareClassic || isMifareMini) {
res = detect_classic_static_nonce();
if (res == NONCE_STATIC) {
PrintAndLogEx(SUCCESS, "Static nonce......... " _YELLOW_("yes"));
PrintAndLogEx(SUCCESS, "Static nonce....... " _YELLOW_("yes"));
}
if (res == NONCE_NORMAL) {
// not static
res = detect_classic_prng();
if (res == 1) {
PrintAndLogEx(SUCCESS, "Prng detection....... " _GREEN_("weak"));
PrintAndLogEx(SUCCESS, "Prng detection..... " _GREEN_("weak"));
} else if (res == 0) {
PrintAndLogEx(SUCCESS, "Prng detection....... " _YELLOW_("hard"));
PrintAndLogEx(SUCCESS, "Prng detection..... " _YELLOW_("hard"));
} else {
PrintAndLogEx(FAILED, "Prng detection........ " _RED_("fail"));
PrintAndLogEx(FAILED, "Prng detection...... " _RED_("fail"));
}
if (do_nack_test) {

View file

@ -10237,7 +10237,7 @@ static int CmdHF14AMfInfo(const char *Cmd) {
}
PrintAndLogEx(NORMAL, "");
PrintAndLogEx(INFO, "--- " _CYAN_("ISO14443-a Information") " ---------------------");
PrintAndLogEx(INFO, "--- " _CYAN_("ISO14443-a Information") " -----------------------------");
PrintAndLogEx(SUCCESS, " UID: " _GREEN_("%s"), sprint_hex(card.uid, card.uidlen));
PrintAndLogEx(SUCCESS, "ATQA: " _GREEN_("%02X %02X"), card.atqa[1], card.atqa[0]);
PrintAndLogEx(SUCCESS, " SAK: " _GREEN_("%02X [%" PRIu64 "]"), card.sak, resp.oldarg[0]);
@ -10292,6 +10292,13 @@ static int CmdHF14AMfInfo(const char *Cmd) {
PrintAndLogEx(HINT, "Hint: try `" _YELLOW_("emv info") "`");
}
if ((card_type & MTFUDAN) == MTFUDAN) {
PrintAndLogEx(NORMAL, "");
PrintAndLogEx(INFO, "FUDAN FM11RF005 detected");
PrintAndLogEx(HINT, "Hint: try `" _YELLOW_("hf fudan dump") "`");
goto out;
}
if (setDeviceDebugLevel(verbose ? MAX(dbg_curr, DBG_INFO) : DBG_NONE, false) != PM3_SUCCESS) {
return PM3_EFAILED;
}
@ -10764,7 +10771,7 @@ static int CmdHF14AMfISEN(const char *Cmd) {
}
PrintAndLogEx(NORMAL, "");
PrintAndLogEx(INFO, "--- " _CYAN_("ISO14443-a Information") " ---------------------");
PrintAndLogEx(INFO, "--- " _CYAN_("ISO14443-a Information") " -----------------------------");
PrintAndLogEx(SUCCESS, " UID: " _GREEN_("%s"), sprint_hex(card.uid, card.uidlen));
PrintAndLogEx(SUCCESS, "ATQA: " _GREEN_("%02X %02X"), card.atqa[1], card.atqa[0]);
PrintAndLogEx(SUCCESS, " SAK: " _GREEN_("%02X [%" PRIu64 "]"), card.sak, resp.oldarg[0]);
@ -10776,11 +10783,11 @@ static int CmdHF14AMfISEN(const char *Cmd) {
int res = detect_classic_static_encrypted_nonce_ex(blockn, keytype, key, blockn_nested, keytype_nested, key_nested, nr_nested, reset, hardreset, addread, addauth, incblk2, corruptnrar, corruptnrarparity, true);
if (res == NONCE_STATIC) {
PrintAndLogEx(SUCCESS, "Static nonce......... " _YELLOW_("yes"));
PrintAndLogEx(SUCCESS, "Static nonce....... " _YELLOW_("yes"));
} else if (res == NONCE_SUPERSTATIC) {
PrintAndLogEx(SUCCESS, "Static nonce......... " _YELLOW_("yes, even when nested"));
PrintAndLogEx(SUCCESS, "Static nonce....... " _YELLOW_("yes, even when nested"));
} else if (res == NONCE_STATIC_ENC) {
PrintAndLogEx(SUCCESS, "Static enc nonce..... " _RED_("yes"));
PrintAndLogEx(SUCCESS, "Static enc nonce... " _RED_("yes"));
}
if (res == NONCE_STATIC_ENC) {