From c5028d9384dfc30349b4e8151f56a98b98234fe8 Mon Sep 17 00:00:00 2001 From: Darell Tan Date: Tue, 4 Nov 2025 00:53:35 +0800 Subject: [PATCH] Fix for making ndefread CRC override work The return value from MADCheck, which happens before MADDecode, needs to be ignored also --- client/src/cmdhfmf.c | 5 ++++- client/src/cmdhfmfp.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 9ec4198ed..625055261 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -7129,7 +7129,10 @@ int CmdHFMFNDEFRead(const char *Cmd) { int res = MADCheck(sector0, sector10, verbose, &haveMAD2); if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "MAD error %d", res); - return res; + if (override) + PrintAndLogEx(INFO, "overriding CRC check"); + else + return res; } uint16_t mad[7 + 8 + 8 + 8 + 8] = {0}; diff --git a/client/src/cmdhfmfp.c b/client/src/cmdhfmfp.c index 94f1df5c9..b72279e41 100644 --- a/client/src/cmdhfmfp.c +++ b/client/src/cmdhfmfp.c @@ -2203,7 +2203,10 @@ int CmdHFMFPNDEFRead(const char *Cmd) { int res = MADCheck(sector0, NULL, verbose, &haveMAD2); if (res != PM3_SUCCESS) { PrintAndLogEx(ERR, "MAD error %d", res); - return res; + if (override) + PrintAndLogEx(INFO, "overriding CRC check"); + else + return res; } if (haveMAD2) {