if (isOK != 1) return 1;\r
\r
// execute original function from util nonce2key\r
- if (nonce2key(uid, nt, par_list, ks_list, &r_key)) return 2;\r
- printf("------------------------------------------------------------------\n");\r
- PrintAndLog("Key found:%012llx \n", r_key);\r
+ if (nonce2key(uid, nt, par_list, ks_list, &r_key))\r
+ {\r
+ isOK = 2;\r
+ PrintAndLog("Key not found (lfsr_common_prefix list is null). Nt=%08x", nt); \r
+ } else {\r
+ printf("------------------------------------------------------------------\n");\r
+ PrintAndLog("Key found:%012I64x \n", r_key);\r
\r
- num_to_bytes(r_key, 6, keyBlock);\r
- isOK = mfCheckKeys(0, 0, 1, keyBlock, &r_key);\r
+ num_to_bytes(r_key, 6, keyBlock);\r
+ isOK = mfCheckKeys(0, 0, 1, keyBlock, &r_key);\r
+ }\r
if (!isOK) \r
- PrintAndLog("Found valid key:%012llx", r_key);\r
+ PrintAndLog("Found valid key:%012I64x", r_key);\r
else\r
{\r
- PrintAndLog("Found invalid key. ( Nt=%08x ,Trying use it to run again...", nt); \r
+ if (isOK != 2) PrintAndLog("Found invalid key. ( Nt=%08x ,Trying use it to run again...", nt); \r
c.arg[0] = nt;\r
goto start;\r
}\r
if (res)\r
res = mfCheckKeys(trgBlockNo, trgKeyType, 8, &keyBlock[6 * 8], &key64);\r
if (!res) {\r
- PrintAndLog("Found valid key:%012llx", key64);\r
+ PrintAndLog("Found valid key:%012I64x", key64);\r
\r
// transfer key to the emulator\r
if (transferToEml) {\r
if (res)\r
res = mfCheckKeys(trgBlockNo, trgKeyType, 8, &keyBlock[6 * 8], &key64);\r
if (!res) {\r
- PrintAndLog("Found valid key:%012llx", key64); \r
+ PrintAndLog("Found valid key:%012I64x", key64); \r
e_sector[trgBlockNo / 4].foundKey[trgKeyType] = 1;\r
e_sector[trgBlockNo / 4].Key[trgKeyType] = key64;\r
}\r
PrintAndLog("|sec|key A |res|key B |res|");\r
PrintAndLog("|---|----------------|---|----------------|---|");\r
for (i = 0; i < SectorsCnt; i++) {\r
- PrintAndLog("|%03d| %012llx | %d | %012llx | %d |", i, \r
+ PrintAndLog("|%03d| %012I64x | %d | %012I64x | %d |", i, \r
e_sector[i].Key[0], e_sector[i].foundKey[0], e_sector[i].Key[1], e_sector[i].foundKey[1]);\r
}\r
PrintAndLog("|---|----------------|---|----------------|---|");\r
}\r
memset(keyBlock + 6 * keycnt, 0, 6);\r
num_to_bytes(strtoll(buf, NULL, 16), 6, keyBlock + 6*keycnt);\r
- PrintAndLog("chk custom key[%d] %012llx", keycnt, bytes_to_num(keyBlock + 6*keycnt, 6));\r
+ PrintAndLog("chk custom key[%d] %012I64x", keycnt, bytes_to_num(keyBlock + 6*keycnt, 6));\r
keycnt++;\r
}\r
} else {\r
res = mfCheckKeys(b, t, size, keyBlock +6*c, &key64);\r
if (res !=1) {\r
if (!res) {\r
- PrintAndLog("Found valid key:[%012llx]",key64);\r
+ PrintAndLog("Found valid key:[%012I64x]",key64);\r
if (transferToEml) {\r
uint8_t block[16];\r
mfEmlGetMem(block, get_trailer_block(b), 1);\r
}\r
keyA = bytes_to_num(data, 6);\r
keyB = bytes_to_num(data + 10, 6);\r
- PrintAndLog("|%03d| %012llx | %012llx |", i, keyA, keyB);\r
+ PrintAndLog("|%03d| %012I64x | %012I64x |", i, keyA, keyB);\r
}\r
PrintAndLog("|---|----------------|----------------|");\r
\r