#include <stdint.h>
#include <stdbool.h>
#include "util.h"
-#include "data.h"
#include "ui.h"
#include "iso14443crc.h"
#include "parity.h"
AuthData.nt = ntx;
mfLastKey = GetCrypto1ProbableKey(&AuthData);
- PrintAndLog(" | * | key | nested probable key:%010"PRIx64" ks2:%08x ks3:%08x | |",
+ PrintAndLog(" | * | key | nested probable key:%012"PRIx64" ks2:%08x ks3:%08x | |",
mfLastKey,
AuthData.ks2,
AuthData.ks3);
uint32_t ar1 = crypto1_word(pcs, 0, 0) ^ ad->ar_enc;
uint32_t at1 = crypto1_word(pcs, 0, 0) ^ ad->at_enc;
- if (!(ar == ar1 && at == at1 && NTParityChk(ad, nt1)))
+ if (!(ar == ar1 && at == at1 && NTParityChk(ad, nt1))) {
+ crypto1_destroy(pcs);
return false;
+ }
memcpy(buf, cmd, cmdsize);
mf_crypto1_decrypt(pcs, buf, cmdsize, 0);