From 508e89a7a9a9ba26f41bf1a7a2cc91ed8d1fa759 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Sun, 1 Aug 2021 22:56:03 +0300 Subject: [PATCH] iso check correctly select MF --- client/src/mifare/desfirecore.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/client/src/mifare/desfirecore.c b/client/src/mifare/desfirecore.c index 74aa44e94..42921ad4d 100644 --- a/client/src/mifare/desfirecore.c +++ b/client/src/mifare/desfirecore.c @@ -1379,12 +1379,17 @@ static bool DesfireCheckISOAuthCmd(uint32_t appAID, char *dfname, uint8_t keyNum dctx.cmdSet = DCCISO; bool app_level = (appAID != 0x000000); - int res = 0; - // if cant select - return false + int res = 0; if (dfname == NULL || strnlen(dfname, 16) == 0) { - res = DesfireSelectAIDHex(&dctx, appAID, false, 0); - if (res != PM3_SUCCESS) - return false; + if (appAID == 0x000000) { + res = DesfireISOSelect(&dctx, ISSMFDFEF, NULL, 0, NULL, NULL); + if (res != PM3_SUCCESS) + return false; + } else { + res = DesfireSelectAIDHex(&dctx, appAID, false, 0); + if (res != PM3_SUCCESS) + return false; + } } else { res = DesfireISOSelectDF(&dctx, dfname, NULL, NULL); if (res != PM3_SUCCESS)