diff --git a/client/src/mifare/mifare4.c b/client/src/mifare/mifare4.c index ea7986441..1faa3a82a 100644 --- a/client/src/mifare/mifare4.c +++ b/client/src/mifare/mifare4.c @@ -21,6 +21,7 @@ #include "commonutil.h" // ARRAYLEN #include "comms.h" // DropField #include "cmdhf14a.h" +#include "cmdhfmfp.h" // mfp_data_crypt #include "ui.h" #include "crypto/libpcrypto.h" @@ -532,6 +533,9 @@ int mfpReadSector(uint8_t sectorNo, uint8_t keyType, uint8_t *key, uint8_t *data DropField(); return 6; } + + // Encrypted mode is always used. Doing an if to check will waste instructions + mfp_data_crypt(&_session, &data[1], &data[1], true); memcpy(&dataout[(n - firstBlockNo) * 16], &data[1], 16);