Merge fc7f81a8f6f2438d94688c5401153d28c1df8805 into 32bb6271083dddcf59f21df3dfe583dc818fd839

This commit is contained in:
quantum-x 2017-03-14 12:48:33 +00:00 committed by GitHub
commit 2fd13ce25f

View File

@ -358,8 +358,12 @@ read_card(int read_unlocked)
memcpy(mtDump.amb[iBlock].mbt.abtKeyB, mtKeys.amb[iBlock].mbt.abtKeyB, sizeof(mtDump.amb[iBlock].mbt.abtKeyB)); memcpy(mtDump.amb[iBlock].mbt.abtKeyB, mtKeys.amb[iBlock].mbt.abtKeyB, sizeof(mtDump.amb[iBlock].mbt.abtKeyB));
} }
} else { } else {
printf("!\nfailed to read trailer block 0x%02x\n", iBlock); //If the card was never unlocked and we get an error here, it's very likely that it's not a magic card.
bFailure = true; printf("!\nfailed to read trailer block 0x%02x\n", iBlock);
bFailure = true;
if (unlocked == false) {
printf("Supplied card unable to perform unlocked read / writes.");
}
} }
} else { } else {
// Make sure a earlier readout did not fail // Make sure a earlier readout did not fail
@ -535,7 +539,7 @@ main(int argc, const char *argv[])
} }
const char *command = argv[1]; const char *command = argv[1];
if (argc < 5) { if (argc < 4) {
print_usage(argv[0]); print_usage(argv[0]);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
@ -554,6 +558,10 @@ main(int argc, const char *argv[])
bFormatCard = (strcmp(command, "f") == 0); bFormatCard = (strcmp(command, "f") == 0);
bUseKeyA = tolower((int)((unsigned char) * (argv[2]))) == 'a'; bUseKeyA = tolower((int)((unsigned char) * (argv[2]))) == 'a';
bTolerateFailures = tolower((int)((unsigned char) * (argv[2]))) != (int)((unsigned char) * (argv[2])); bTolerateFailures = tolower((int)((unsigned char) * (argv[2]))) != (int)((unsigned char) * (argv[2]));
if (argv[3][0] != 'U' && argv[3][0] != 'u') {
argv[5] = argv[4];
argv[4] = argv[3];
}
bUseKeyFile = (argc > 5); bUseKeyFile = (argc > 5);
bForceKeyFile = ((argc > 6) && (strcmp((char *)argv[6], "f") == 0)); bForceKeyFile = ((argc > 6) && (strcmp((char *)argv[6], "f") == 0));
} }
@ -574,6 +582,7 @@ main(int argc, const char *argv[])
tag_uid[0], tag_uid[1], tag_uid[2], tag_uid[3]); tag_uid[0], tag_uid[1], tag_uid[2], tag_uid[3]);
} else { } else {
tag_uid = NULL; tag_uid = NULL;
argv[5] = argv[4];
} }
if (atAction == ACTION_USAGE) { if (atAction == ACTION_USAGE) {