DEL: 'hf mf sniff' - since it is very similar to 'hf 14a sniff' , I removed this command. The desired functionality will become a new 'hf list mf' option in the future.
This commit is contained in:
@@ -2913,7 +2913,7 @@ static command_t CommandTable[] = {
|
||||
{"nested", CmdHF14AMfNested, 0, "Nested attack. Test nested authentication"},
|
||||
{"hardnested", CmdHF14AMfNestedHard, 0, "Nested attack for hardened Mifare cards"},
|
||||
{"keybrute", CmdHF14AMfKeyBrute, 0, "J_Run's 2nd phase of multiple sector nested authentication key recovery"},
|
||||
{"sniff", CmdHF14AMfSniff, 0, "Sniff card-reader communication"},
|
||||
// {"sniff", CmdHF14AMfSniff, 0, "Sniff card-reader communication"},
|
||||
{"sim", CmdHF14AMf1kSim, 0, "Simulate MIFARE card"},
|
||||
{"eclr", CmdHF14AMfEClear, 0, "Clear simulator memory block"},
|
||||
{"eget", CmdHF14AMfEGet, 0, "Get simulator memory block"},
|
||||
|
||||
@@ -46,7 +46,7 @@ extern int CmdHF14AMfChk(const char* cmd);
|
||||
extern int CmdHF14AMifare(const char* cmd);
|
||||
extern int CmdHF14AMfNested(const char* cmd);
|
||||
extern int CmdHF14AMfNestedHard(const char *Cmd);
|
||||
extern int CmdHF14AMfSniff(const char* cmd);
|
||||
//extern int CmdHF14AMfSniff(const char* cmd);
|
||||
extern int CmdHF14AMf1kSim(const char* cmd);
|
||||
extern int CmdHF14AMfKeyBrute(const char *Cmd);
|
||||
extern int CmdHF14AMfEClear(const char* cmd);
|
||||
|
||||
@@ -697,26 +697,25 @@ int mfTraceDecode(uint8_t *data_src, int len, bool wantSaveToEmlFile) {
|
||||
}
|
||||
|
||||
// READ
|
||||
if ((len ==4) && ((data[0] == ISO14443A_CMD_READBLOCK))) {
|
||||
if ((len == 4) && ((data[0] == ISO14443A_CMD_READBLOCK))) {
|
||||
traceState = TRACE_READ_DATA;
|
||||
traceCurBlock = data[1];
|
||||
return 0;
|
||||
}
|
||||
|
||||
// WRITE
|
||||
if ((len ==4) && ((data[0] == ISO14443A_CMD_WRITEBLOCK))) {
|
||||
if ((len == 4) && ((data[0] == ISO14443A_CMD_WRITEBLOCK))) {
|
||||
traceState = TRACE_WRITE_OK;
|
||||
traceCurBlock = data[1];
|
||||
return 0;
|
||||
}
|
||||
|
||||
// HALT
|
||||
if ((len ==4) && ((data[0] == ISO14443A_CMD_HALT) && (data[1] == 0x00))) {
|
||||
if ((len == 4) && ((data[0] == ISO14443A_CMD_HALT) && (data[1] == 0x00))) {
|
||||
traceState = TRACE_ERROR; // do not decrypt the next commands
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
break;
|
||||
|
||||
case TRACE_READ_DATA:
|
||||
if (len == 18) {
|
||||
@@ -812,10 +811,12 @@ int mfTraceDecode(uint8_t *data_src, int len, bool wantSaveToEmlFile) {
|
||||
|
||||
// set cryptosystem state
|
||||
traceCrypto1 = lfsr_recovery64(ks2, ks3);
|
||||
return 0;
|
||||
|
||||
} else {
|
||||
printf("[!] nested key recovery not implemented!\n");
|
||||
at_enc = bytes_to_num(data, 4);
|
||||
crypto1_destroy(traceCrypto1);
|
||||
traceState = TRACE_ERROR;
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user