Error handling
This commit is contained in:
@ -473,7 +473,7 @@ void nested_auth(uint32_t uid, uint64_t known_key, uint8_t ab_key, uint8_t for_b
|
|||||||
// Transmit reader-answer
|
// Transmit reader-answer
|
||||||
int res;
|
int res;
|
||||||
if (((res = nfc_initiator_transceive_bits(pnd, ArEnc, 64, ArEncPar, Rx, sizeof(Rx), RxPar)) < 0) || (res != 32)) {
|
if (((res = nfc_initiator_transceive_bits(pnd, ArEnc, 64, ArEncPar, Rx, sizeof(Rx), RxPar)) < 0) || (res != 32)) {
|
||||||
printf("Reader-answer transfer error, exiting..");
|
fprintf(stderr, "Reader-answer transfer error, exiting..");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -481,7 +481,7 @@ void nested_auth(uint32_t uid, uint64_t known_key, uint8_t ab_key, uint8_t for_b
|
|||||||
Nt = prng_successor(Nt, 32);
|
Nt = prng_successor(Nt, 32);
|
||||||
|
|
||||||
if (!((crypto1_word(pcs, 0x00, 0) ^ bytes_to_num(Rx, 4)) == (Nt & 0xFFFFFFFF))) {
|
if (!((crypto1_word(pcs, 0x00, 0) ^ bytes_to_num(Rx, 4)) == (Nt & 0xFFFFFFFF))) {
|
||||||
printf("[At] is not Suc3(Nt), something is wrong, exiting..");
|
fprintf(stderr, "[At] is not Suc3(Nt), something is wrong, exiting..");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -494,7 +494,7 @@ void nested_auth(uint32_t uid, uint64_t known_key, uint8_t ab_key, uint8_t for_b
|
|||||||
ArEncPar[i] = filter(*pcs) ^ oddparity(Cmd[i]);
|
ArEncPar[i] = filter(*pcs) ^ oddparity(Cmd[i]);
|
||||||
}
|
}
|
||||||
if (((res = nfc_initiator_transceive_bits(pnd, ArEnc, 32, ArEncPar, Rx, sizeof(Rx), RxPar)) < 0) || (res != 32)) {
|
if (((res = nfc_initiator_transceive_bits(pnd, ArEnc, 32, ArEncPar, Rx, sizeof(Rx), RxPar)) < 0) || (res != 32)) {
|
||||||
printf("Reader-answer transfer error, exiting..");
|
fprintf(stderr, "Reader-answer transfer error, exiting..");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -608,7 +608,7 @@ int main (int argc, const char * argv[]) {
|
|||||||
pnd = nfc_open(context, NULL);
|
pnd = nfc_open(context, NULL);
|
||||||
|
|
||||||
if (pnd == NULL) {
|
if (pnd == NULL) {
|
||||||
printf("No NFC device connection\n");
|
fprintf(stderr, "No NFC device connection\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -674,7 +674,8 @@ int main (int argc, const char * argv[]) {
|
|||||||
|
|
||||||
space = craptev1_get_space(nonces, 95, uid);
|
space = craptev1_get_space(nonces, 95, uid);
|
||||||
total_states = craptev1_sizeof_space(space);
|
total_states = craptev1_sizeof_space(space);
|
||||||
if(!space){
|
if(!space || !total_states_tested){
|
||||||
|
fprintf(stderr, "No solution found!\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user