mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2024-09-22 08:16:16 +08:00
print the new key if we put the key version into the des key
This commit is contained in:
parent
a35e185b5b
commit
bdac4cb48d
|
@ -4991,7 +4991,6 @@ static int CmdHF14ADesChangeKey(const char *Cmd) {
|
|||
if (newkeyver < 0x100 || newkeytype == T_AES)
|
||||
PrintAndLogEx(INFO, "new key version: 0x%02x", newkeyver & 0x00);
|
||||
|
||||
|
||||
res = DesfireSelectAndAuthenticate(&dctx, securechann, appid, verbose);
|
||||
if (res != PM3_SUCCESS) {
|
||||
DropField();
|
||||
|
@ -4999,7 +4998,7 @@ static int CmdHF14ADesChangeKey(const char *Cmd) {
|
|||
}
|
||||
|
||||
DesfireSetCommMode(&dctx, DCMEncryptedPlain);
|
||||
res = DesfireChangeKey(&dctx, newkeynum, newkeytype, newkeyver, newkey, oldkeytype, oldkey);
|
||||
res = DesfireChangeKey(&dctx, newkeynum, newkeytype, newkeyver, newkey, oldkeytype, oldkey, true);
|
||||
if (res == PM3_SUCCESS) {
|
||||
PrintAndLogEx(SUCCESS, "Change key " _GREEN_("ok") " ");
|
||||
} else {
|
||||
|
|
|
@ -1079,7 +1079,7 @@ void PrintKeySettings(uint8_t keysettings, uint8_t numkeys, bool applevel, bool
|
|||
PrintKeySettingsPICC(keysettings, numkeys, print2ndbyte);
|
||||
}
|
||||
|
||||
int DesfireChangeKey(DesfireContext *dctx, uint8_t newkeynum, DesfireCryptoAlgorythm newkeytype, uint32_t newkeyver, uint8_t *newkey, DesfireCryptoAlgorythm oldkeytype, uint8_t *oldkey) {
|
||||
int DesfireChangeKey(DesfireContext *dctx, uint8_t newkeynum, DesfireCryptoAlgorythm newkeytype, uint32_t newkeyver, uint8_t *newkey, DesfireCryptoAlgorythm oldkeytype, uint8_t *oldkey, bool verbose) {
|
||||
|
||||
uint8_t okeybuf[DESFIRE_MAX_KEY_SIZE] = {0};
|
||||
uint8_t nkeybuf[DESFIRE_MAX_KEY_SIZE] = {0};
|
||||
|
@ -1107,8 +1107,11 @@ PrintAndLogEx(SUCCESS, "--oldk [%d]: %s", desfire_get_key_length(oldkeytype), sp
|
|||
PrintAndLogEx(SUCCESS, "--newk [%d]: %s", nkeylen, sprint_hex(nkeybuf, nkeylen));
|
||||
|
||||
// set key version for DES. if newkeyver > 0xff - setting key version is disabled
|
||||
if (newkeytype != T_AES && newkeyver < 0x100)
|
||||
if (newkeytype != T_AES && newkeyver < 0x100) {
|
||||
DesfireDESKeySetVersion(nkeybuf, newkeytype, newkeyver);
|
||||
if (verbose)
|
||||
PrintAndLogEx(INFO, "changed new key: %s [%d] %s", CLIGetOptionListStr(DesfireAlgoOpts, newkeytype), desfire_get_key_length(newkeytype), sprint_hex(newkey, desfire_get_key_length(newkeytype)));
|
||||
}
|
||||
|
||||
PrintAndLogEx(SUCCESS, "--newk [%d]: %s", nkeylen, sprint_hex(nkeybuf, nkeylen));
|
||||
|
||||
|
|
|
@ -56,6 +56,6 @@ void PrintKeySettings(uint8_t keysettings, uint8_t numkeys, bool applevel, bool
|
|||
uint8_t DesfireKeyAlgoToType(DesfireCryptoAlgorythm keyType);
|
||||
|
||||
int DesfireChangeKeyCmd(DesfireContext *dctx, uint8_t *data, size_t datalen, uint8_t *resp, size_t *resplen);
|
||||
int DesfireChangeKey(DesfireContext *dctx, uint8_t newkeynum, DesfireCryptoAlgorythm newkeytype, uint32_t newkeyver, uint8_t *newkey, DesfireCryptoAlgorythm oldkeytype, uint8_t *oldkey);
|
||||
int DesfireChangeKey(DesfireContext *dctx, uint8_t newkeynum, DesfireCryptoAlgorythm newkeytype, uint32_t newkeyver, uint8_t *newkey, DesfireCryptoAlgorythm oldkeytype, uint8_t *oldkey, bool verbose);
|
||||
|
||||
#endif // __DESFIRECORE_H
|
||||
|
|
Loading…
Reference in a new issue