c.arg[0] = false;\r
goto start;\r
} else {\r
- PrintAndLog("Found valid key: %012"llx" \n", r_key);\r
+ PrintAndLog("Found valid key: %012" PRIx64 " \n", r_key);\r
goto END;\r
}\r
}\r
uint64_t key64 = 0;\r
int res = mfCheckKeys(blockNo, keytype - 0x60 , false, 1, keyblock, &key64);\r
if ( res > 0 ) {\r
- PrintAndLog("Candidate Key found (%012"llx") - Test authentication failed. [%d] Restarting darkside attack", r_key, res); \r
+ PrintAndLog("Candidate Key found (%012" PRIx64 ") - Test authentication failed. [%d] Restarting darkside attack", r_key, res); \r
goto start;\r
}\r
- PrintAndLog("Found valid key: %012"llx" \n", r_key);\r
+ PrintAndLog("Found valid key: %012" PRIx64 " \n", r_key);\r
}\r
END:\r
t1 = clock() - t1;\r
uint8_t blockNo = 0;\r
uint8_t keyType = 0;\r
uint8_t key[6] = {0, 0, 0, 0, 0, 0};\r
- \r
- char cmdp = 0x00;\r
-\r
+ char cmdp = 0x00;\r
\r
if (strlen(Cmd)<3) {\r
PrintAndLog("Usage: hf mf rdbl <block number> <key A/B> <key (12 hex symbols)>");\r
size_t bytes_read;\r
for (sectorNo=0; sectorNo<numSectors; sectorNo++) {\r
bytes_read = fread( keyA[sectorNo], 1, 6, fin );\r
- if ( bytes_read == 0) {\r
+ if ( bytes_read != 6) {\r
PrintAndLog("File reading error.");\r
fclose(fin);\r
- fin = NULL;\r
return 2;\r
}\r
}\r
// Read keys B from file\r
for (sectorNo=0; sectorNo<numSectors; sectorNo++) {\r
bytes_read = fread( keyB[sectorNo], 1, 6, fin );\r
- if ( bytes_read == 0) {\r
+ if ( bytes_read != 6) {\r
PrintAndLog("File reading error.");\r
fclose(fin);\r
- fin = NULL;\r
return 2;\r
}\r
}\r
\r
fclose(fin);\r
- fin = NULL;\r
\r
PrintAndLog("|-----------------------------------------|");\r
PrintAndLog("|------ Reading sector access bits...-----|");\r
size_t bytes_read;\r
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {\r
bytes_read = fread( keyA[sectorNo], 1, 6, fkeys );\r
- if ( bytes_read == 0) {\r
+ if ( bytes_read != 6) {\r
PrintAndLog("File reading error (dumpkeys.bin).");\r
fclose(fkeys);\r
- fkeys = NULL;\r
return 2;\r
}\r
}\r
\r
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {\r
bytes_read = fread( keyB[sectorNo], 1, 6, fkeys );\r
- if ( bytes_read == 0) {\r
+ if ( bytes_read != 6) {\r
PrintAndLog("File reading error (dumpkeys.bin).");\r
fclose(fkeys);\r
- fkeys = NULL;\r
return 2;\r
}\r
}\r
UsbCommand c = {CMD_MIFARE_WRITEBL, {FirstBlockOfSector(sectorNo) + blockNo, keyType, 0}};\r
memcpy(c.d.asBytes, key, 6); \r
bytes_read = fread(bldata, 1, 16, fdump);\r
- if ( bytes_read == 0) {\r
+ if ( bytes_read != 16) {\r
PrintAndLog("File reading error (dumpdata.bin).");\r
fclose(fdump);\r
fdump = NULL; \r
}\r
\r
fclose(fdump);\r
- fdump = NULL; \r
return 0;\r
}\r
\r
switch (isOK) {\r
case -1 : PrintAndLog("Error: No response from Proxmark.\n"); break;\r
case -2 : PrintAndLog("Button pressed. Aborted.\n"); break;\r
- case -3 : PrintAndLog("Tag isn't vulnerable to Nested Attack (its random number generator is not predictable).\n"); break;\r
+ case -3 : PrintAndLog("Tag isn't vulnerable to Nested Attack (random number generator is not predictable).\n"); break;\r
case -4 : PrintAndLog("No valid key found"); break;\r
case -5 : \r
key64 = bytes_to_num(keyBlock, 6);\r
}\r
memset(keyBlock + 6 * keycnt, 0, 6);\r
num_to_bytes(strtoll(buf, NULL, 16), 6, keyBlock + 6*keycnt);\r
- PrintAndLog("check key[%2d] %012"llx, keycnt, bytes_to_num(keyBlock + 6*keycnt, 6));\r
+ PrintAndLog("check key[%2d] %012" PRIx64, keycnt, bytes_to_num(keyBlock + 6*keycnt, 6));\r
keycnt++;\r
memset(buf, 0, sizeof(buf));\r
}\r
uint8_t sector = data.sector;\r
uint8_t keytype = data.keytype;\r
\r
- PrintAndLog("Reader is trying authenticate with: Key %s, sector %02d: [%012"llx"]"\r
+ PrintAndLog("Reader is trying authenticate with: Key %s, sector %02d: [%012" PRIx64 "]"\r
, keytype ? "B" : "A"\r
, sector\r
, key\r
\r
if (res == 1) { // there is (more) data to be transferred\r
if (pckNum == 0) { // first packet, (re)allocate necessary buffer\r
- if (traceLen > bufsize) {\r
+ if (traceLen > bufsize || buf == NULL) {\r
uint8_t *p;\r
if (buf == NULL) // not yet allocated\r
p = malloc(traceLen);\r
time(&start);\r
\r
if (mfKeyBrute( blockNo, keytype, key, &foundkey))\r
- PrintAndLog("Found valid key: %012"llx" \n", foundkey);\r
+ PrintAndLog("Found valid key: %012" PRIx64 " \n", foundkey);\r
else\r
PrintAndLog("Key not found");\r
\r
PrintAndLog("|sec|key A |res|key B |res|");\r
PrintAndLog("|---|----------------|---|----------------|---|");\r
for (uint8_t i = 0; i < sectorscnt; ++i) {\r
- PrintAndLog("|%03d| %012"llx" | %d | %012"llx" | %d |", i,\r
+ PrintAndLog("|%03d| %012" PRIx64 " | %d | %012" PRIx64 " | %d |", i,\r
e_sector[i].Key[0], e_sector[i].foundKey[0], \r
e_sector[i].Key[1], e_sector[i].foundKey[1]\r
);\r
{\r
uint8_t memBlock[16];\r
uint8_t blockNo = 0;\r
-\r
memset(memBlock, 0x00, sizeof(memBlock));\r
\r
if (strlen(Cmd) < 3 || param_getchar(Cmd, 0) == 'h') {\r
}\r
keyA = bytes_to_num(data, 6);\r
keyB = bytes_to_num(data + 10, 6);\r
- PrintAndLog("|%03d| %012"llx" | %012"llx" |", i, keyA, keyB);\r
+ PrintAndLog("|%03d| %012" PRIx64 " | %012" PRIx64 " |", i, keyA, keyB);\r
}\r
PrintAndLog("|---|----------------|----------------|");\r
\r