}
if (DecodeMifareData(frame, data_len, isResponse, mfData, &mfDataLen)) {
- PrintAndLog(" | | |%-64s | %s| %s",
+ annotateIso14443a(explanation, sizeof(explanation), mfData, mfDataLen);
+
+ PrintAndLog(" | * | dec |%-64s | %-4s| %s",
sprint_hex(mfData, mfDataLen),
"",
- (false) ? explanation : "");
+ (true) ? explanation : "");
};
if (is_last_record(tracepos, trace, traceLen)) return traceLen;
crypto1_get_lfsr(revstate, &lfsr);
crypto1_destroy(revstate);
// LastKey = lfsr;
- printf("uid:%x nt:%x ar_enc:%x at_enc:%x\n", AuthData.uid, AuthData.nt, AuthData.ar_enc, AuthData.at_enc);
- printf("AUTH: probable key:%x%x Prng:%s ks2:%08x ks3:%08x\n",
+ PrintAndLog(" | * | key | probable key:%x%x Prng:%s ks2:%08x ks3:%08x | |",
(unsigned int)((lfsr & 0xFFFFFFFF00000000) >> 32), (unsigned int)(lfsr & 0xFFFFFFFF),
- validate_prng_nonce(AuthData.nt) ? "WEAK": "HARDEND",
+ validate_prng_nonce(AuthData.nt) ? "WEAK": "HARD",
ks2,
ks3);
AuthData.first_auth = false;
} else {
+ printf("uid:%x nt:%x ar_enc:%x at_enc:%x\n", AuthData.uid, AuthData.nt, AuthData.ar_enc, AuthData.at_enc);
}