mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-14 18:48:13 -07:00
ADD: @marshmellow42's decrypt crypto-1 method,
ADD: @piwi's latest commit to PM3 Master, aiming at the WDR in "hf mf mifare".
This commit is contained in:
parent
e98572a1e2
commit
3bc7b13d23
6 changed files with 99 additions and 31 deletions
|
@ -59,7 +59,8 @@ start:
|
|||
case -1 : PrintAndLog("Button pressed. Aborted.\n"); break;
|
||||
case -2 : PrintAndLog("Card is not vulnerable to Darkside attack (doesn't send NACK on authentication requests).\n"); break;
|
||||
case -3 : PrintAndLog("Card is not vulnerable to Darkside attack (its random number generator is not predictable).\n"); break;
|
||||
case -4 : PrintAndLog("The card's random number generator is vulnerable but behaves somewhat weird (Mifare clone?). This needs to be fixed.\n"); break;
|
||||
case -4 : PrintAndLog("Card is not vulnerable to Darkside attack (its random number generator seems to be based on the wellknown");
|
||||
PrintAndLog("generating polynomial with 16 effective bits only, but shows unexpected behaviour.\n"); break;
|
||||
default: ;
|
||||
}
|
||||
break;
|
||||
|
@ -1983,9 +1984,21 @@ int CmdHF14AMfSniff(const char *Cmd){
|
|||
//needs nt, ar, at, Data to decrypt
|
||||
int CmdDecryptTraceCmds(const char *Cmd){
|
||||
uint8_t data[50];
|
||||
|
||||
uint32_t nt = param_get32ex(Cmd,0,0,16);
|
||||
uint32_t ar_enc = param_get32ex(Cmd,1,0,16);
|
||||
uint32_t at_enc = param_get32ex(Cmd,2,0,16);
|
||||
|
||||
int len = 0;
|
||||
param_gethex_ex(Cmd,3,data,&len);
|
||||
return tryDecryptWord(param_get32ex(Cmd,0,0,16),param_get32ex(Cmd,1,0,16),param_get32ex(Cmd,2,0,16),data,len/2);
|
||||
param_gethex_ex(Cmd, 3, data, &len);
|
||||
|
||||
len /= 2;
|
||||
int limit = sizeof(data) / 2;
|
||||
|
||||
if ( len >= limit )
|
||||
len = limit;
|
||||
|
||||
return tryDecryptWord( nt, ar_enc, at_enc, data, len);
|
||||
}
|
||||
|
||||
static command_t CommandTable[] =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue