From 514fd244faf0194d8f39942b8272a04c448e85be Mon Sep 17 00:00:00 2001 From: Astra Date: Wed, 22 May 2024 18:29:57 +0900 Subject: [PATCH] Fix atqa detection --- lib/nfc/protocols/mf_plus/mf_plus_i.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/nfc/protocols/mf_plus/mf_plus_i.c b/lib/nfc/protocols/mf_plus/mf_plus_i.c index a481f94c4..7627ce016 100644 --- a/lib/nfc/protocols/mf_plus/mf_plus_i.c +++ b/lib/nfc/protocols/mf_plus/mf_plus_i.c @@ -172,11 +172,11 @@ bool mf_plus_get_type_from_iso4(const Iso14443_4aData* iso4_data, MfPlusData* mf mf_plus_data->type = MfPlusTypeS; mf_plus_data->security_level = MfPlusSecurityLevel3; - if(iso4_data->iso14443_3a_data->atqa[1] & 0x04) { + if((iso4_data->iso14443_3a_data->atqa[1] & 0x0F) == 0x04) { // Mifare Plus S 2K SL3 mf_plus_data->size = MfPlusSize2K; FURI_LOG_D(TAG, "Mifare Plus S 2K SL3"); - } else if(iso4_data->iso14443_3a_data->atqa[1] & 0x02) { + } else if((iso4_data->iso14443_3a_data->atqa[1] & 0x0F) == 0x02) { // Mifare Plus S 4K SL3 mf_plus_data->size = MfPlusSize4K; FURI_LOG_D(TAG, "Mifare Plus S 4K SL3"); @@ -194,10 +194,10 @@ bool mf_plus_get_type_from_iso4(const Iso14443_4aData* iso4_data, MfPlusData* mf mf_plus_data->type = MfPlusTypeX; mf_plus_data->security_level = MfPlusSecurityLevel3; - if(iso4_data->iso14443_3a_data->atqa[1] & 0x04) { + if((iso4_data->iso14443_3a_data->atqa[1] & 0x0F) == 0x04) { mf_plus_data->size = MfPlusSize2K; FURI_LOG_D(TAG, "Mifare Plus X 2K SL3"); - } else if(iso4_data->iso14443_3a_data->atqa[1] & 0x02) { + } else if((iso4_data->iso14443_3a_data->atqa[1] & 0x0F) == 0x02) { mf_plus_data->size = MfPlusSize4K; FURI_LOG_D(TAG, "Mifare Plus X 4K SL3"); } else {