diff --git a/CHANGELOG.md b/CHANGELOG.md index dbbf7333f..7d60deab8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,8 @@ All notable changes to this project will be documented in this file. This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log... ## [unreleased][unreleased] -- Major changes to `hf iclass configcard` expanding the list of available options and functionalities (@antiklesys) +- Changed `hf 14a info` `hf mf info` - now detects FM1216-137 CPU cards (@iceman1001) +- Changed `hf iclass configcard` expanding the list of available options and functionalities (@antiklesys) - Fixed `intertic.py` - missing comma in array (@iceman1001) - Added improved algorithm for `hf iclass legrec` leveraging reduced entropy from hash0 constraints (@antiklesys) - Fixed `hf iclass configcard` when generating elite or keyroll elite configcards for Rev.C legacy readers (@antiklesys) diff --git a/client/src/cmdhf14a.c b/client/src/cmdhf14a.c index 3d8d50626..d5fbf2633 100644 --- a/client/src/cmdhf14a.c +++ b/client/src/cmdhf14a.c @@ -1836,6 +1836,7 @@ static int detect_nxp_card_print(uint8_t sak, uint16_t atqa, uint64_t select_sta } else if ((sak & 0x28) == 0x28) { printTag("SmartMX with MIFARE Classic 1K"); printTag("FM1208-10 with MIFARE Classic 1K"); + printTag("FM1216-137 with MIFARE Classic 1K"); type |= MTCLASSIC; } else if ((sak & 0x08) == 0x08) { if (select_status == 1) { diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 1b670f200..052b5615c 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -9719,6 +9719,13 @@ static int CmdHF14AMfInfo(const char *Cmd) { // Note: it also has ATS = // 10 78 80 90 02 20 90 00 00 00 00 00 + UID + CRC PrintAndLogEx(SUCCESS, "Fudan FM1208-10"); + + } else if (fKeyType == MF_KEY_BD && memcmp(fkey, k08, sizeof(fkey)) == 0 + && card.sak == 0x28 && memcmp(blockdata + 5, "\x28\x04\x00\x90\x53\xB7\x0C\x00\x00\x00\x00", 11) == 0) { + // Note: it also has ATS = + // 10 78 80 B0 02 20 90 00 00 00 00 00 + UID + CRC + PrintAndLogEx(SUCCESS, "Fudan FM1208-10"); + } else if (fKeyType == MF_KEY_BD && memcmp(fkey, k08, sizeof(fkey)) == 0 && card.sak == 0x88 && memcmp(blockdata + 5, "\x88\x04\x00\x43", 4) == 0) { PrintAndLogEx(SUCCESS, "Infineon SLE66R35");