From b09c0e0d5fbb6ad15201299f80281b1855e7d7f2 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sat, 20 Apr 2024 08:47:49 +0200 Subject: [PATCH] textual --- client/src/cmdhfmfdes.c | 9 +++++++++ client/src/cmdhfmfp.c | 7 +++++-- client/src/cmdhfmfp.h | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/client/src/cmdhfmfdes.c b/client/src/cmdhfmfdes.c index d35fb8993..e96c5c755 100644 --- a/client/src/cmdhfmfdes.c +++ b/client/src/cmdhfmfdes.c @@ -144,6 +144,7 @@ typedef enum { DESFIRE_EV3, DESFIRE_LIGHT, PLUS_EV1, + PLUS_EV2, NTAG413DNA, } nxp_cardtype_t; @@ -300,6 +301,8 @@ static nxp_cardtype_t getCardType(uint8_t major, uint8_t minor) { return DESFIRE_LIGHT; if (major == 0x11 && minor == 0x00) return PLUS_EV1; + if (major == 0x22 && minor == 0x00) + return PLUS_EV2; if (major == 0x10 && minor == 0x00) return NTAG413DNA; return DESFIRE_UNKNOWN; @@ -663,6 +666,12 @@ static int CmdHF14ADesInfo(const char *Cmd) { DropField(); return PM3_SUCCESS; } + if (cardtype == PLUS_EV2) { + PrintAndLogEx(INFO, "Card seems to be MIFARE Plus EV2. Try " _YELLOW_("`hf mfp info`")); + DropField(); + return PM3_SUCCESS; + } + PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "---------------------------------- " _CYAN_("Tag Information") " ----------------------------------"); diff --git a/client/src/cmdhfmfp.c b/client/src/cmdhfmfp.c index 618b55be2..c6216d865 100644 --- a/client/src/cmdhfmfp.c +++ b/client/src/cmdhfmfp.c @@ -155,6 +155,9 @@ static nxp_cardtype_t getCardType(uint8_t major, uint8_t minor) { if (major == 0x11 && minor == 0x00) return PLUS_EV1; + if (major == 0x22 && minor == 0x00) + return PLUS_EV2; + return MFP_UNKNOWN; } @@ -343,11 +346,11 @@ static int CmdHFMFPInfo(const char *Cmd) { uint16_t ATQA = card.atqa[0] + (card.atqa[1] << 8); if (ATQA & 0x0004) { - PrintAndLogEx(INFO, " Size...... " _GREEN_("2K") " (%s UID)", (ATQA & 0x0040) ? "7" : "4"); + PrintAndLogEx(INFO, " Size....... " _GREEN_("2K") " (%s UID)", (ATQA & 0x0040) ? "7" : "4"); isPlus = true; } if (ATQA & 0x0002) { - PrintAndLogEx(INFO, " Size...... " _GREEN_("4K") " (%s UID)", (ATQA & 0x0040) ? "7" : "4"); + PrintAndLogEx(INFO, " Size....... " _GREEN_("4K") " (%s UID)", (ATQA & 0x0040) ? "7" : "4"); isPlus = true; } diff --git a/client/src/cmdhfmfp.h b/client/src/cmdhfmfp.h index e8be12e07..277ad1c3e 100644 --- a/client/src/cmdhfmfp.h +++ b/client/src/cmdhfmfp.h @@ -28,6 +28,7 @@ typedef enum { DESFIRE_EV3, DESFIRE_LIGHT, PLUS_EV1, + PLUS_EV2, } nxp_cardtype_t; typedef struct mfp_key_item {