From 365758ff50e963f1d6bedcdbb395ca27f4c99035 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Wed, 13 Nov 2024 12:21:50 +0100 Subject: [PATCH] Adding FM1208-10 detection with slightly different block0, thanks @mmm! --- client/src/cmdhfmf.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index e4f29c028..e6fafd379 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -9715,10 +9715,17 @@ static int CmdHF14AMfInfo(const char *Cmd) { && card.sak == 0x20 && memcmp(blockdata + 8, "\x62\x63\x64\x65\x66\x67\x68\x69", 8) == 0) { PrintAndLogEx(SUCCESS, "Fudan FM11RF32 (SAK=20)"); } else if (fKeyType == MF_KEY_BD && memcmp(fkey, k08, sizeof(fkey)) == 0 - && card.sak == 0x28 && memcmp(blockdata + 5, "\x28\x04\x00\x90\x10\x15\x01\x00\x00\x00\x00", 11) == 0) { + && card.sak == 0x28 && ( + (memcmp(blockdata + 5, "\x28\x04\x00\x90\x10\x15\x01\x00\x00\x00\x00", 11) == 0) || + (memcmp(blockdata + 5, "\x28\x04\x00\x90\x11\x15\x01\x00\x00\x00\x00", 11) == 0))) { // 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\x11\x15\x01\x00\x00\x00\x00", 11) == 0) { + // 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 =