hf 14a antifuzz - now uses NG

This commit is contained in:
iceman1001 2020-10-20 17:36:01 +02:00
commit d8294a958b
3 changed files with 17 additions and 9 deletions

View file

@ -1259,7 +1259,11 @@ static void PacketReceived(PacketCommandNG *packet) {
break; break;
} }
case CMD_HF_ISO14443A_ANTIFUZZ: { case CMD_HF_ISO14443A_ANTIFUZZ: {
iso14443a_antifuzz(packet->oldarg[0]); struct p {
uint8_t flag;
} PACKED;
struct p *payload = (struct p *) packet->data.asBytes;
iso14443a_antifuzz(payload->flag);
break; break;
} }
case CMD_HF_EPA_COLLECT_NONCE: { case CMD_HF_EPA_COLLECT_NONCE: {

View file

@ -2390,7 +2390,7 @@ void iso14443a_antifuzz(uint32_t flags) {
} }
} }
reply_old(CMD_ACK, 1, 0, 0, 0, 0); reply_ng(CMD_HF_ISO14443A_ANTIFUZZ, PM3_SUCCESS, NULL, 0);
switch_off(); switch_off();
BigBuf_free_keep_EM(); BigBuf_free_keep_EM();
} }

View file

@ -1338,7 +1338,7 @@ static int CmdHF14ACmdRaw(const char *Cmd) {
if (!res && datalen > 0) if (!res && datalen > 0)
waitCmd(0, timeout); waitCmd(0, timeout);
} }
return 0; return PM3_SUCCESS;
} }
static int waitCmd(uint8_t iSelect, uint32_t timeout) { static int waitCmd(uint8_t iSelect, uint32_t timeout) {
@ -1398,16 +1398,20 @@ static int CmdHF14AAntiFuzz(const char *Cmd) {
}; };
CLIExecWithReturn(ctx, Cmd, argtable, false); CLIExecWithReturn(ctx, Cmd, argtable, false);
uint8_t arg0 = FLAG_4B_UID_IN_DATA; struct {
uint8_t flag;
} PACKED param;
param.flag = FLAG_4B_UID_IN_DATA;
if (arg_get_lit(ctx, 2)) if (arg_get_lit(ctx, 2))
arg0 = FLAG_7B_UID_IN_DATA; param.flag = FLAG_7B_UID_IN_DATA;
if (arg_get_lit(ctx, 3)) if (arg_get_lit(ctx, 3))
arg0 = FLAG_10B_UID_IN_DATA; param.flag = FLAG_10B_UID_IN_DATA;
CLIParserFree(ctx); CLIParserFree(ctx);
clearCommandBuffer(); clearCommandBuffer();
SendCommandMIX(CMD_HF_ISO14443A_ANTIFUZZ, arg0, 0, 0, NULL, 0); SendCommandNG(CMD_HF_ISO14443A_ANTIFUZZ, (uint8_t*)&param, sizeof(param));
return 0; return PM3_SUCCESS;
} }
static int CmdHF14AChaining(const char *Cmd) { static int CmdHF14AChaining(const char *Cmd) {
@ -1438,7 +1442,7 @@ static int CmdHF14AChaining(const char *Cmd) {
PrintAndLogEx(INFO, "\nISO 14443-4 input chaining %s.\n", APDUInFramingEnable ? "enabled" : "disabled"); PrintAndLogEx(INFO, "\nISO 14443-4 input chaining %s.\n", APDUInFramingEnable ? "enabled" : "disabled");
return 0; return PM3_SUCCESS;
} }
static void printTag(const char *tag) { static void printTag(const char *tag) {