mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-14 10:37:23 -07:00
FIX: 'hf 14a sim x' - adjusted and shows messages when verbose.
FIX: 'hf mf sim x i' - same as above. In general we only use Moebius attack for "sim x", that means a clean up on device side code. simpler to understand. It still tries to gather 8 different collections of nonces combo. When one is complete, it get sent to client which runs moebius direct.
This commit is contained in:
parent
2ce218042d
commit
84bdbc1917
5 changed files with 193 additions and 314 deletions
|
@ -441,7 +441,6 @@ int CmdHF14ACUIDs(const char *Cmd) {
|
|||
// ## simulate iso14443a tag
|
||||
// ## greg - added ability to specify tag UID
|
||||
int CmdHF14ASim(const char *Cmd) {
|
||||
#define ATTACK_KEY_COUNT 8
|
||||
bool errors = FALSE;
|
||||
uint8_t flags = 0;
|
||||
uint8_t tagtype = 1;
|
||||
|
@ -451,7 +450,8 @@ int CmdHF14ASim(const char *Cmd) {
|
|||
bool useUIDfromEML = TRUE;
|
||||
bool setEmulatorMem = FALSE;
|
||||
bool verbose = FALSE;
|
||||
|
||||
nonces_t data[1];
|
||||
|
||||
while(param_getchar(Cmd, cmdp) != 0x00) {
|
||||
switch(param_getchar(Cmd, cmdp)) {
|
||||
case 'h':
|
||||
|
@ -483,7 +483,7 @@ int CmdHF14ASim(const char *Cmd) {
|
|||
break;
|
||||
case 'v':
|
||||
case 'V':
|
||||
verbose = true;
|
||||
verbose = TRUE;
|
||||
cmdp++;
|
||||
break;
|
||||
case 'x':
|
||||
|
@ -498,7 +498,7 @@ int CmdHF14ASim(const char *Cmd) {
|
|||
break;
|
||||
default:
|
||||
PrintAndLog("Unknown parameter '%c'", param_getchar(Cmd, cmdp));
|
||||
errors = true;
|
||||
errors = TRUE;
|
||||
break;
|
||||
}
|
||||
if(errors) break;
|
||||
|
@ -514,19 +514,19 @@ int CmdHF14ASim(const char *Cmd) {
|
|||
memcpy(c.d.asBytes, uid, uidlen>>1);
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
|
||||
nonces_t data[ATTACK_KEY_COUNT*2];
|
||||
UsbCommand resp;
|
||||
|
||||
PrintAndLog("Press pm3-button to abort simulation");
|
||||
|
||||
while( !ukbhit() ){
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1500) ) continue;
|
||||
if ( !(flags & FLAG_NR_AR_ATTACK) ) break;
|
||||
if ( (resp.arg[0] & 0xffff) != CMD_SIMULATE_MIFARE_CARD ) break;
|
||||
|
||||
memcpy( data, resp.d.asBytes, sizeof(data) );
|
||||
readerAttack(data, setEmulatorMem, verbose);
|
||||
memcpy(data, resp.d.asBytes, sizeof(data) );
|
||||
readerAttack(data[0], setEmulatorMem, verbose);
|
||||
}
|
||||
showSectorTable();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue