From 49127b199bec272e294d9f5eba2c4916b0f2564c Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Sat, 22 Mar 2025 09:30:26 +0000 Subject: [PATCH] Check HWMajorVersion like NXP commands \o/ See: https://www.nxp.com/docs/en/application-note/AN10833.pdf --- lib/nfc/protocols/mf_desfire/mf_desfire_i.c | 2 +- lib/nfc/protocols/mf_plus/mf_plus_i.c | 2 +- lib/nfc/protocols/ntag4xx/ntag4xx_i.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/nfc/protocols/mf_desfire/mf_desfire_i.c b/lib/nfc/protocols/mf_desfire/mf_desfire_i.c index bbfb7ffa8..28284f212 100644 --- a/lib/nfc/protocols/mf_desfire/mf_desfire_i.c +++ b/lib/nfc/protocols/mf_desfire/mf_desfire_i.c @@ -54,7 +54,7 @@ bool mf_desfire_version_parse(MfDesfireVersion* data, const BitBuffer* buf) { bit_buffer_write_bytes(buf, data, sizeof(MfDesfireVersion)); } - return can_parse; + return can_parse && (data->hw_type & 0x0F) == 0x01; } bool mf_desfire_free_memory_parse(MfDesfireFreeMemory* data, const BitBuffer* buf) { diff --git a/lib/nfc/protocols/mf_plus/mf_plus_i.c b/lib/nfc/protocols/mf_plus/mf_plus_i.c index bd32956d6..8f06a644a 100644 --- a/lib/nfc/protocols/mf_plus/mf_plus_i.c +++ b/lib/nfc/protocols/mf_plus/mf_plus_i.c @@ -27,7 +27,7 @@ MfPlusError mf_plus_get_type_from_version( MfPlusError error = MfPlusErrorProtocol; - if(mf_plus_data->version.hw_type == 0x02 || mf_plus_data->version.hw_type == 0x82) { + if((mf_plus_data->version.hw_type & 0x0F) == 0x02) { error = MfPlusErrorNone; // Mifare Plus EV1/EV2 diff --git a/lib/nfc/protocols/ntag4xx/ntag4xx_i.c b/lib/nfc/protocols/ntag4xx/ntag4xx_i.c index 6a0c7114a..40f22fc41 100644 --- a/lib/nfc/protocols/ntag4xx/ntag4xx_i.c +++ b/lib/nfc/protocols/ntag4xx/ntag4xx_i.c @@ -44,7 +44,7 @@ bool ntag4xx_version_parse(Ntag4xxVersion* data, const BitBuffer* buf) { } } - return can_parse && data->hw_type == 0x04; + return can_parse && (data->hw_type & 0x0F) == 0x04; } bool ntag4xx_version_load(Ntag4xxVersion* data, FlipperFormat* ff) {