Merge pull request #2036 from AloneLiberty/patch-1

Don't require valid key or proxmark3 for hardnested with --tests
This commit is contained in:
Iceman 2023-07-12 22:46:26 +02:00 committed by GitHub
commit fa0db30143
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2241,28 +2241,29 @@ static int CmdHF14AMfNestedHard(const char *Cmd) {
snprintf(filename, FILE_PATH_SIZE, "hf-mf-%s-nonces.bin", uid); snprintf(filename, FILE_PATH_SIZE, "hf-mf-%s-nonces.bin", uid);
} }
// detect MFC EV1 Signature if (g_session.pm3_present && !tests) {
if (g_session.pm3_present && detect_mfc_ev1_signature() && keylen == 0) { // detect MFC EV1 Signature
PrintAndLogEx(INFO, "MIFARE Classic EV1 card detected"); if (detect_mfc_ev1_signature() && keylen == 0) {
blockno = 69; PrintAndLogEx(INFO, "MIFARE Classic EV1 card detected");
keytype = MF_KEY_B; blockno = 69;
memcpy(key, g_mifare_signature_key_b, sizeof(g_mifare_signature_key_b)); keytype = MF_KEY_B;
} memcpy(key, g_mifare_signature_key_b, sizeof(g_mifare_signature_key_b));
if (known_target_key == false && nonce_file_read == false) {
// check if tag doesn't have static nonce
if (detect_classic_static_nonce() == NONCE_STATIC) {
PrintAndLogEx(WARNING, "Static nonce detected. Quitting...");
PrintAndLogEx(HINT, "\tTry use `" _YELLOW_("hf mf staticnested") "`");
return PM3_EOPABORTED;
} }
uint64_t key64 = 0; if (known_target_key == false && nonce_file_read == false) {
// check if we can authenticate to sector // check if tag doesn't have static nonce
if (mfCheckKeys(blockno, keytype, true, 1, key, &key64) != PM3_SUCCESS) { if (detect_classic_static_nonce() == NONCE_STATIC) {
PrintAndLogEx(WARNING, "Key is wrong. Can't authenticate to block: %3d key type: %c", blockno, (keytype == MF_KEY_B) ? 'B' : 'A'); PrintAndLogEx(WARNING, "Static nonce detected. Quitting...");
return PM3_EWRONGANSWER; PrintAndLogEx(HINT, "\tTry use `" _YELLOW_("hf mf staticnested") "`");
return PM3_EOPABORTED;
}
uint64_t key64 = 0;
// check if we can authenticate to sector
if (mfCheckKeys(blockno, keytype, true, 1, key, &key64) != PM3_SUCCESS) {
PrintAndLogEx(WARNING, "Key is wrong. Can't authenticate to block: %3d key type: %c", blockno, (keytype == MF_KEY_B) ? 'B' : 'A');
return PM3_EWRONGANSWER;
}
} }
} }