diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index 6e500bc70..97e4bf42c 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -2308,6 +2308,15 @@ void MifareCIdent(void) { isGen = MAGIC_GEN_2; goto OUT; } + + // super card ident + uint8_t super[] = {0x0A, 0x00, 0x00, 0xA6, 0xB0, 0x00, 0x10}; + ReaderTransmit(super, sizeof(super), NULL); + res = ReaderReceive(buf, par); + if (res == 22) { + isGen = MAGIC_SUPER; + goto OUT; + } }; OUT: diff --git a/client/src/mifare/mifarehost.c b/client/src/mifare/mifarehost.c index b33872cdc..65c51f177 100644 --- a/client/src/mifare/mifarehost.c +++ b/client/src/mifare/mifarehost.c @@ -1184,6 +1184,9 @@ int detect_classic_magic(void) { case MAGIC_GEN_UNFUSED: PrintAndLogEx(SUCCESS, "Magic capabilities : " _GREEN_("Write Once / FUID")); break; + case MAGIC_SUPER: + PrintAndLogEx(SUCCESS, "Magic capabilities : " _GREEN_("super card")); + break; default: break; } diff --git a/include/protocols.h b/include/protocols.h index 62bb9f276..324d4b2fc 100644 --- a/include/protocols.h +++ b/include/protocols.h @@ -219,6 +219,7 @@ ISO 7816-4 Basic interindustry commands. For command APDU's. #define MAGIC_GEN_1B 2 #define MAGIC_GEN_2 4 #define MAGIC_GEN_UNFUSED 5 +#define MAGIC_SUPER 6 /** 06 00 = INITIATE 0E xx = SELECT ID (xx = Chip-ID)