code style, remove unneeded UID array allocations since we just dont use the UID later in those functions

This commit is contained in:
iceman1001 2023-12-31 09:56:46 +01:00
commit c54f6af925

View file

@ -2811,6 +2811,7 @@ void MifareGen3UID(uint8_t uidlen, uint8_t *uid) {
uint8_t *cmd = BigBuf_calloc(sizeof(uid_cmd) + uidlen + 2); uint8_t *cmd = BigBuf_calloc(sizeof(uid_cmd) + uidlen + 2);
iso14a_card_select_t *card_info = (iso14a_card_select_t *) BigBuf_calloc(sizeof(iso14a_card_select_t)); iso14a_card_select_t *card_info = (iso14a_card_select_t *) BigBuf_calloc(sizeof(iso14a_card_select_t));
LEDsoff();
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
clear_trace(); clear_trace();
set_tracing(true); set_tracing(true);
@ -2842,15 +2843,15 @@ void MifareGen3Blk(uint8_t block_len, uint8_t *block) {
int retval = PM3_SUCCESS; int retval = PM3_SUCCESS;
uint8_t block_cmd[5] = { 0x90, 0xf0, 0xcc, 0xcc, 0x10 }; uint8_t block_cmd[5] = { 0x90, 0xf0, 0xcc, 0xcc, 0x10 };
uint8_t *uid = BigBuf_calloc(10);
uint8_t *cmd = BigBuf_calloc(sizeof(block_cmd) + MAX_MIFARE_FRAME_SIZE); uint8_t *cmd = BigBuf_calloc(sizeof(block_cmd) + MAX_MIFARE_FRAME_SIZE);
iso14a_card_select_t *card_info = (iso14a_card_select_t *) BigBuf_calloc(sizeof(iso14a_card_select_t)); iso14a_card_select_t *card_info = (iso14a_card_select_t *) BigBuf_calloc(sizeof(iso14a_card_select_t));
LEDsoff();
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
clear_trace(); clear_trace();
set_tracing(true); set_tracing(true);
if (iso14443a_select_card(uid, card_info, NULL, true, 0, true) == false) { if (iso14443a_select_card(NULL, card_info, NULL, true, 0, true) == false) {
retval = PM3_ESOFT; retval = PM3_ESOFT;
goto OUT; goto OUT;
} }
@ -2885,7 +2886,7 @@ void MifareGen3Blk(uint8_t block_len, uint8_t *block) {
AddCrc14A(cmd, sizeof(block_cmd) + MIFARE_BLOCK_SIZE); AddCrc14A(cmd, sizeof(block_cmd) + MIFARE_BLOCK_SIZE);
if (doReselect) { if (doReselect) {
if (!iso14443a_select_card(uid, NULL, NULL, true, 0, true)) { if (!iso14443a_select_card(NULL, NULL, NULL, true, 0, true)) {
retval = PM3_ESOFT; retval = PM3_ESOFT;
goto OUT; goto OUT;
} }
@ -2902,15 +2903,16 @@ OUT:
} }
void MifareGen3Freez(void) { void MifareGen3Freez(void) {
LEDsoff();
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
clear_trace(); clear_trace();
set_tracing(true); set_tracing(true);
int retval = PM3_SUCCESS; int retval = PM3_SUCCESS;
uint8_t freeze_cmd[7] = { 0x90, 0xfd, 0x11, 0x11, 0x00, 0xe7, 0x91 }; uint8_t freeze_cmd[7] = { 0x90, 0xfd, 0x11, 0x11, 0x00, 0xe7, 0x91 };
uint8_t *uid = BigBuf_malloc(10);
if (iso14443a_select_card(uid, NULL, NULL, true, 0, true) == false) { if (iso14443a_select_card(NULL, NULL, NULL, true, 0, true) == false) {
retval = PM3_ESOFT; retval = PM3_ESOFT;
goto OUT; goto OUT;
} }
@ -2944,16 +2946,12 @@ void MifareG4ReadBlk(uint8_t blockno, uint8_t *pwd, uint8_t workFlags) {
} }
if (setup) { if (setup) {
uint8_t *uid = BigBuf_malloc(10); LEDsoff();
if (uid == NULL) {
retval = PM3_EMALLOC;
goto OUT;
}
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
clear_trace(); clear_trace();
set_tracing(true); set_tracing(true);
if (iso14443a_select_card(uid, NULL, NULL, true, 0, true) == false) { if (iso14443a_select_card(NULL, NULL, NULL, true, 0, true) == false) {
retval = PM3_ESOFT; retval = PM3_ESOFT;
goto OUT; goto OUT;
} }
@ -2982,15 +2980,25 @@ void MifareG4ReadBlk(uint8_t blockno, uint8_t *pwd, uint8_t workFlags) {
retval = PM3_ESOFT; retval = PM3_ESOFT;
} }
if (done || retval != 0) iso14a_set_timeout(save_iso14a_timeout); if (done || retval != 0) {
iso14a_set_timeout(save_iso14a_timeout);
}
LED_B_OFF(); LED_B_OFF();
OUT: OUT:
reply_ng(CMD_HF_MIFARE_G4_RDBL, retval, buf, res); reply_ng(CMD_HF_MIFARE_G4_RDBL, retval, buf, res);
// turns off // turns off
if (done || retval != 0) FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); if (done || retval != 0) {
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
}
LEDsoff(); LEDsoff();
if (done || retval != 0) set_tracing(false); if (done || retval != 0) {
set_tracing(false);
}
BigBuf_free(); BigBuf_free();
} }
@ -3020,16 +3028,12 @@ void MifareG4WriteBlk(uint8_t blockno, uint8_t *pwd, uint8_t *data, uint8_t work
} }
if (setup) { if (setup) {
uint8_t *uid = BigBuf_malloc(10); LEDsoff();
if (uid == NULL) {
retval = PM3_EMALLOC;
goto OUT;
}
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
clear_trace(); clear_trace();
set_tracing(true); set_tracing(true);
if (iso14443a_select_card(uid, NULL, NULL, true, 0, true) == false) { if (iso14443a_select_card(NULL, NULL, NULL, true, 0, true) == false) {
retval = PM3_ESOFT; retval = PM3_ESOFT;
goto OUT; goto OUT;
} }
@ -3061,15 +3065,23 @@ void MifareG4WriteBlk(uint8_t blockno, uint8_t *pwd, uint8_t *data, uint8_t work
retval = PM3_ESOFT; retval = PM3_ESOFT;
} }
if (done || retval != 0) iso14a_set_timeout(save_iso14a_timeout); if (done || retval != 0) {
iso14a_set_timeout(save_iso14a_timeout);
}
LED_B_OFF(); LED_B_OFF();
OUT: OUT:
reply_ng(CMD_HF_MIFARE_G4_WRBL, retval, buf, res); reply_ng(CMD_HF_MIFARE_G4_WRBL, retval, buf, res);
// turns off // turns off
if (done || retval != 0) FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); if (done || retval != 0) {
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
}
LEDsoff(); LEDsoff();
if (done || retval != 0) set_tracing(false); if (done || retval != 0) {
set_tracing(false);
}
BigBuf_free(); BigBuf_free();
} }
@ -3080,24 +3092,25 @@ void MifareSetMod(uint8_t *datain) {
// variables // variables
uint16_t isOK = PM3_EUNDEF; uint16_t isOK = PM3_EUNDEF;
uint8_t uid[10] = {0}; uint8_t *uid = BigBuf_calloc(10);
uint32_t cuid = 0; uint32_t cuid = 0;
struct Crypto1State mpcs = {0, 0}; struct Crypto1State mpcs = {0, 0};
struct Crypto1State *pcs = &mpcs; struct Crypto1State *pcs = &mpcs;
uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE] = {0};
uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE] = {0};
uint8_t *buf = BigBuf_calloc(MAX_MIFARE_FRAME_SIZE);
uint8_t *par = BigBuf_calloc(MAX_MIFARE_PARITY_SIZE);
LEDsoff();
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
clear_trace(); clear_trace();
set_tracing(true); set_tracing(true);
LED_A_ON(); LED_A_ON();
LED_B_OFF();
LED_C_OFF();
while (true) { while (true) {
if (!iso14443a_select_card(uid, NULL, &cuid, true, 0, true)) { if (iso14443a_select_card(uid, NULL, &cuid, true, 0, true) == false) {
if (g_dbglevel >= DBG_ERROR) Dbprintf("Can't select card"); if (g_dbglevel >= DBG_ERROR) Dbprintf("Can't select card");
break; break;
} }
@ -3108,8 +3121,8 @@ void MifareSetMod(uint8_t *datain) {
} }
int respLen; int respLen;
if (((respLen = mifare_sendcmd_short(pcs, CRYPT_ALL, MIFARE_EV1_SETMOD, mod, receivedAnswer, receivedAnswerPar, NULL)) != 1) || (receivedAnswer[0] != 0x0a)) { if (((respLen = mifare_sendcmd_short(pcs, CRYPT_ALL, MIFARE_EV1_SETMOD, mod, buf, par, NULL)) != 1) || (buf[0] != 0x0a)) {
if (g_dbglevel >= DBG_ERROR) Dbprintf("SetMod error; response[0]: %hhX, len: %d", receivedAnswer[0], respLen); if (g_dbglevel >= DBG_ERROR) Dbprintf("SetMod error; response[0]: %hhX, len: %d", buf[0], respLen);
break; break;
} }
@ -3130,6 +3143,7 @@ void MifareSetMod(uint8_t *datain) {
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
LEDsoff(); LEDsoff();
BigBuf_free();
} }
// //
@ -3137,14 +3151,13 @@ void MifareSetMod(uint8_t *datain) {
// //
void Mifare_DES_Auth1(uint8_t arg0, uint8_t *datain) { void Mifare_DES_Auth1(uint8_t arg0, uint8_t *datain) {
uint8_t dataout[12] = {0x00}; uint8_t dataout[12] = {0x00};
uint8_t uid[10] = {0x00};
uint32_t cuid = 0; uint32_t cuid = 0;
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
clear_trace(); clear_trace();
set_tracing(true); set_tracing(true);
int len = iso14443a_select_card(uid, NULL, &cuid, true, 0, false); int len = iso14443a_select_card(NULL, NULL, &cuid, true, 0, false);
if (!len) { if (!len) {
if (g_dbglevel >= DBG_ERROR) Dbprintf("Can't select card"); if (g_dbglevel >= DBG_ERROR) Dbprintf("Can't select card");
OnError(1); OnError(1);
@ -3193,8 +3206,10 @@ void MifareU_Otp_Tearoff(uint8_t blno, uint32_t tearoff_time, uint8_t *data_test
if (g_dbglevel >= DBG_DEBUG) DbpString("Preparing OTP tear-off"); if (g_dbglevel >= DBG_DEBUG) DbpString("Preparing OTP tear-off");
if (tearoff_time > 43000) if (tearoff_time > 43000) {
tearoff_time = 43000; tearoff_time = 43000;
}
g_tearoff_delay_us = tearoff_time; g_tearoff_delay_us = tearoff_time;
g_tearoff_enabled = true; g_tearoff_enabled = true;
@ -3213,7 +3228,7 @@ void MifareU_Otp_Tearoff(uint8_t blno, uint32_t tearoff_time, uint8_t *data_test
AddCrc14A(cmd, sizeof(cmd) - 2); AddCrc14A(cmd, sizeof(cmd) - 2);
// anticollision / select card // anticollision / select card
if (!iso14443a_select_card(NULL, NULL, NULL, true, 0, true)) { if (iso14443a_select_card(NULL, NULL, NULL, true, 0, true) == false) {
if (g_dbglevel >= DBG_ERROR) Dbprintf("Can't select card"); if (g_dbglevel >= DBG_ERROR) Dbprintf("Can't select card");
OnError(1); OnError(1);
reply_ng(CMD_HF_MFU_OTP_TEAROFF, PM3_EFAILED, NULL, 0); reply_ng(CMD_HF_MFU_OTP_TEAROFF, PM3_EFAILED, NULL, 0);
@ -3230,8 +3245,9 @@ void MifareU_Otp_Tearoff(uint8_t blno, uint32_t tearoff_time, uint8_t *data_test
// Tear-off attack against MFU counter // Tear-off attack against MFU counter
void MifareU_Counter_Tearoff(uint8_t counter, uint32_t tearoff_time, uint8_t *datain) { void MifareU_Counter_Tearoff(uint8_t counter, uint32_t tearoff_time, uint8_t *datain) {
if (tearoff_time > 43000) if (tearoff_time > 43000) {
tearoff_time = 43000; tearoff_time = 43000;
}
LEDsoff(); LEDsoff();
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
@ -3252,7 +3268,7 @@ void MifareU_Counter_Tearoff(uint8_t counter, uint32_t tearoff_time, uint8_t *da
AddCrc14A(cmd, sizeof(cmd) - 2); AddCrc14A(cmd, sizeof(cmd) - 2);
// anticollision / select card // anticollision / select card
if (!iso14443a_select_card(NULL, NULL, NULL, true, 0, true)) { if (iso14443a_select_card(NULL, NULL, NULL, true, 0, true) == false) {
if (g_dbglevel >= DBG_ERROR) Dbprintf("Can't select card"); if (g_dbglevel >= DBG_ERROR) Dbprintf("Can't select card");
OnError(1); OnError(1);
switch_off(); switch_off();