mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-19 21:03:48 -07:00
style
This commit is contained in:
parent
3c9ca8f5bc
commit
812d9cc46a
5 changed files with 44 additions and 44 deletions
|
@ -1077,7 +1077,7 @@ bool SimulateIso14443aInit(int tagType, int flags, uint8_t *data, tag_response_i
|
||||||
sak = 0x00;
|
sak = 0x00;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: {
|
default: {
|
||||||
if (DBGLEVEL >= DBG_ERROR) Dbprintf("Error: unknown tagtype (%d)", tagType);
|
if (DBGLEVEL >= DBG_ERROR) Dbprintf("Error: unknown tagtype (%d)", tagType);
|
||||||
return false;
|
return false;
|
||||||
|
@ -1131,16 +1131,16 @@ bool SimulateIso14443aInit(int tagType, int flags, uint8_t *data, tag_response_i
|
||||||
// Calculate BCC for the first 4 bytes of the UID.
|
// Calculate BCC for the first 4 bytes of the UID.
|
||||||
rUIDc1[4] = rUIDc1[0] ^ rUIDc1[1] ^ rUIDc1[2] ^ rUIDc1[3];
|
rUIDc1[4] = rUIDc1[0] ^ rUIDc1[1] ^ rUIDc1[2] ^ rUIDc1[3];
|
||||||
|
|
||||||
|
|
||||||
if (tagType == 10) {
|
if (tagType == 10) {
|
||||||
rSAKc1[0] = 0x04;
|
rSAKc1[0] = 0x04;
|
||||||
rSAKc2[0] = 0x20;
|
rSAKc2[0] = 0x20;
|
||||||
} else {
|
} else {
|
||||||
rSAKc1[0] = sak;
|
rSAKc1[0] = sak;
|
||||||
rSAKc2[0] = sak & 0xFB;
|
rSAKc2[0] = sak & 0xFB;
|
||||||
}
|
}
|
||||||
|
|
||||||
// crc
|
// crc
|
||||||
AddCrc14A(rSAKc1, sizeof(rSAKc1) - 2);
|
AddCrc14A(rSAKc1, sizeof(rSAKc1) - 2);
|
||||||
AddCrc14A(rSAKc2, sizeof(rSAKc2) - 2);
|
AddCrc14A(rSAKc2, sizeof(rSAKc2) - 2);
|
||||||
|
|
||||||
|
@ -1151,7 +1151,7 @@ bool SimulateIso14443aInit(int tagType, int flags, uint8_t *data, tag_response_i
|
||||||
AddCrc14A(rRATS, sizeof(rRATS) - 2);
|
AddCrc14A(rRATS, sizeof(rRATS) - 2);
|
||||||
|
|
||||||
AddCrc14A(rPPS, sizeof(rPPS) - 2);
|
AddCrc14A(rPPS, sizeof(rPPS) - 2);
|
||||||
|
|
||||||
#define TAG_RESPONSE_COUNT 9
|
#define TAG_RESPONSE_COUNT 9
|
||||||
static tag_response_info_t responses_init[TAG_RESPONSE_COUNT] = {
|
static tag_response_info_t responses_init[TAG_RESPONSE_COUNT] = {
|
||||||
{ .response = rATQA, .response_n = sizeof(rATQA) }, // Answer to request - respond with card type
|
{ .response = rATQA, .response_n = sizeof(rATQA) }, // Answer to request - respond with card type
|
||||||
|
@ -1257,7 +1257,7 @@ void SimulateIso14443aTag(uint8_t tagType, uint8_t flags, uint8_t *data) {
|
||||||
iso14443a_setup(FPGA_HF_ISO14443A_TAGSIM_LISTEN);
|
iso14443a_setup(FPGA_HF_ISO14443A_TAGSIM_LISTEN);
|
||||||
|
|
||||||
iso14a_set_timeout(201400); // 106 * 19ms default
|
iso14a_set_timeout(201400); // 106 * 19ms default
|
||||||
|
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
|
||||||
// To control where we are in the protocol
|
// To control where we are in the protocol
|
||||||
|
@ -1283,19 +1283,19 @@ void SimulateIso14443aTag(uint8_t tagType, uint8_t flags, uint8_t *data) {
|
||||||
|
|
||||||
// compatible write block number
|
// compatible write block number
|
||||||
uint8_t wrblock = 0;
|
uint8_t wrblock = 0;
|
||||||
|
|
||||||
bool odd_reply = true;
|
bool odd_reply = true;
|
||||||
|
|
||||||
clear_trace();
|
clear_trace();
|
||||||
set_tracing(true);
|
set_tracing(true);
|
||||||
LED_A_ON();
|
LED_A_ON();
|
||||||
|
|
||||||
// main loop
|
// main loop
|
||||||
for (;;) {
|
for (;;) {
|
||||||
WDT_HIT();
|
WDT_HIT();
|
||||||
|
|
||||||
tag_response_info_t *p_response = NULL;
|
tag_response_info_t *p_response = NULL;
|
||||||
|
|
||||||
// Clean receive command buffer
|
// Clean receive command buffer
|
||||||
if (GetIso14443aCommandFromReader(receivedCmd, receivedCmdPar, &len) == false) {
|
if (GetIso14443aCommandFromReader(receivedCmd, receivedCmdPar, &len) == false) {
|
||||||
Dbprintf("Emulator stopped. Trace length: %d ", BigBuf_get_traceLen());
|
Dbprintf("Emulator stopped. Trace length: %d ", BigBuf_get_traceLen());
|
||||||
|
@ -1580,17 +1580,17 @@ void SimulateIso14443aTag(uint8_t tagType, uint8_t flags, uint8_t *data) {
|
||||||
AddCrc14A(cmd, sizeof(cmd) - 2);
|
AddCrc14A(cmd, sizeof(cmd) - 2);
|
||||||
EmSendCmd(cmd, sizeof(cmd));
|
EmSendCmd(cmd, sizeof(cmd));
|
||||||
p_response = NULL;
|
p_response = NULL;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// clear old dynamic responses
|
// clear old dynamic responses
|
||||||
dynamic_response_info.response_n = 0;
|
dynamic_response_info.response_n = 0;
|
||||||
dynamic_response_info.modulation_n = 0;
|
dynamic_response_info.modulation_n = 0;
|
||||||
|
|
||||||
// ST25TA512B IKEA Rothult
|
// ST25TA512B IKEA Rothult
|
||||||
if (tagType == 10) {
|
if (tagType == 10) {
|
||||||
// we replay 90 00 for all commands but the read bin and we deny the verify cmd.
|
// we replay 90 00 for all commands but the read bin and we deny the verify cmd.
|
||||||
|
|
||||||
if (memcmp("\x02\xa2\xb0\x00\x00\x1d\x51\x69", receivedCmd, 8) == 0) {
|
if (memcmp("\x02\xa2\xb0\x00\x00\x1d\x51\x69", receivedCmd, 8) == 0) {
|
||||||
dynamic_response_info.response[0] = receivedCmd[0];
|
dynamic_response_info.response[0] = receivedCmd[0];
|
||||||
memcpy(dynamic_response_info.response + 1, "\x00\x1b\xd1\x01\x17\x54\x02\x7a\x68\xa2\x34\xcb\xd0\xe2\x03\xc7\x3e\x62\x0b\xe8\xc6\x3c\x85\x2c\xc5\x31\x31\x31\x32\x90\x00", 31);
|
memcpy(dynamic_response_info.response + 1, "\x00\x1b\xd1\x01\x17\x54\x02\x7a\x68\xa2\x34\xcb\xd0\xe2\x03\xc7\x3e\x62\x0b\xe8\xc6\x3c\x85\x2c\xc5\x31\x31\x31\x32\x90\x00", 31);
|
||||||
|
@ -2021,11 +2021,11 @@ int EmSendCmd14443aRaw(uint8_t *resp, uint16_t respLen) {
|
||||||
while (!(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY));
|
while (!(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY));
|
||||||
b = AT91C_BASE_SSC->SSC_RHR;
|
b = AT91C_BASE_SSC->SSC_RHR;
|
||||||
(void) b;
|
(void) b;
|
||||||
/*
|
/*
|
||||||
while (!(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY));
|
while (!(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY));
|
||||||
b = AT91C_BASE_SSC->SSC_THR;
|
b = AT91C_BASE_SSC->SSC_THR;
|
||||||
(void) b;
|
(void) b;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// wait for the FPGA to signal fdt_indicator == 1 (the FPGA is ready to queue new data in its delay line)
|
// wait for the FPGA to signal fdt_indicator == 1 (the FPGA is ready to queue new data in its delay line)
|
||||||
for (uint8_t j = 0; j < 5; j++) { // allow timeout - better late than never
|
for (uint8_t j = 0; j < 5; j++) { // allow timeout - better late than never
|
||||||
|
@ -2045,12 +2045,12 @@ int EmSendCmd14443aRaw(uint8_t *resp, uint16_t respLen) {
|
||||||
FpgaSendQueueDelay = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
|
FpgaSendQueueDelay = (uint8_t)AT91C_BASE_SSC->SSC_RHR;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
|
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
|
||||||
b = (uint16_t)(AT91C_BASE_SSC->SSC_RHR);
|
b = (uint16_t)(AT91C_BASE_SSC->SSC_RHR);
|
||||||
(void)b;
|
(void)b;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure that the FPGA Delay Queue is empty before we switch to TAGSIM_LISTEN again:
|
// Ensure that the FPGA Delay Queue is empty before we switch to TAGSIM_LISTEN again:
|
||||||
|
|
|
@ -2287,7 +2287,7 @@ void MifareCIdent(void) {
|
||||||
res = ReaderReceive(buf, par);
|
res = ReaderReceive(buf, par);
|
||||||
if (res == 22) {
|
if (res == 22) {
|
||||||
isGen = MAGIC_SUPER;
|
isGen = MAGIC_SUPER;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
isGen = MAGIC_GEN_2;
|
isGen = MAGIC_GEN_2;
|
||||||
|
@ -2322,7 +2322,7 @@ void MifareCIdent(void) {
|
||||||
isGen = MAGIC_GEN_2;
|
isGen = MAGIC_GEN_2;
|
||||||
goto OUT;
|
goto OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
// magic ntag test
|
// magic ntag test
|
||||||
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
|
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
|
||||||
SpinDelay(40);
|
SpinDelay(40);
|
||||||
|
@ -2369,7 +2369,7 @@ void MifareHasStaticNonce(void) {
|
||||||
struct Crypto1State mpcs = {0, 0};
|
struct Crypto1State mpcs = {0, 0};
|
||||||
struct Crypto1State *pcs;
|
struct Crypto1State *pcs;
|
||||||
pcs = &mpcs;
|
pcs = &mpcs;
|
||||||
|
|
||||||
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
|
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
|
||||||
|
|
||||||
uint8_t counter = 0;
|
uint8_t counter = 0;
|
||||||
|
|
|
@ -995,7 +995,7 @@ static int CmdHF14AMfDump(const char *Cmd) {
|
||||||
PrintAndLogEx(WARNING, "Could not find file " _YELLOW_("%s"), keyFilename);
|
PrintAndLogEx(WARNING, "Could not find file " _YELLOW_("%s"), keyFilename);
|
||||||
return PM3_EFILE;
|
return PM3_EFILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
PrintAndLogEx(INFO, "Using `" _YELLOW_("%s") "`", keyFilename);
|
PrintAndLogEx(INFO, "Using `" _YELLOW_("%s") "`", keyFilename);
|
||||||
|
|
||||||
// Read keys A from file
|
// Read keys A from file
|
||||||
|
@ -3169,7 +3169,7 @@ static int CmdHF14AMfChk(const char *Cmd) {
|
||||||
|
|
||||||
PrintAndLogEx(NORMAL, "." NOLF);
|
PrintAndLogEx(NORMAL, "." NOLF);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
if (kbd_enter_pressed()) {
|
if (kbd_enter_pressed()) {
|
||||||
PrintAndLogEx(INFO, "\naborted via keyboard!\n");
|
PrintAndLogEx(INFO, "\naborted via keyboard!\n");
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -3748,7 +3748,7 @@ int CmdHF14AMfELoad(const char *Cmd) {
|
||||||
}
|
}
|
||||||
PrintAndLogEx(NORMAL, "." NOLF);
|
PrintAndLogEx(NORMAL, "." NOLF);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
blockNum++;
|
blockNum++;
|
||||||
counter += blockWidth;
|
counter += blockWidth;
|
||||||
datalen -= blockWidth;
|
datalen -= blockWidth;
|
||||||
|
@ -4525,7 +4525,7 @@ static int CmdHF14AMfCView(const char *Cmd) {
|
||||||
free(dump);
|
free(dump);
|
||||||
return PM3_ESOFT;
|
return PM3_ESOFT;
|
||||||
}
|
}
|
||||||
|
|
||||||
PrintAndLogEx(NORMAL, "." NOLF);
|
PrintAndLogEx(NORMAL, "." NOLF);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
|
|
|
@ -232,7 +232,7 @@ int demodFDX(void) {
|
||||||
setDemodBuff(DemodBuffer, 128, preambleIndex);
|
setDemodBuff(DemodBuffer, 128, preambleIndex);
|
||||||
setClockGrid(g_DemodClock, g_DemodStartIdx + (preambleIndex * g_DemodClock));
|
setClockGrid(g_DemodClock, g_DemodStartIdx + (preambleIndex * g_DemodClock));
|
||||||
|
|
||||||
|
|
||||||
// remove marker bits (1's every 9th digit after preamble) (pType = 2)
|
// remove marker bits (1's every 9th digit after preamble) (pType = 2)
|
||||||
size = removeParity(DemodBuffer, 11, 9, 2, 117);
|
size = removeParity(DemodBuffer, 11, 9, 2, 117);
|
||||||
if (size != 104) {
|
if (size != 104) {
|
||||||
|
@ -246,21 +246,21 @@ int demodFDX(void) {
|
||||||
|
|
||||||
offset = 38;
|
offset = 38;
|
||||||
uint16_t countryCode = bytebits_to_byteLSBF(DemodBuffer + offset, 10);
|
uint16_t countryCode = bytebits_to_byteLSBF(DemodBuffer + offset, 10);
|
||||||
|
|
||||||
offset += 10;
|
offset += 10;
|
||||||
uint8_t dataBlockBit = DemodBuffer[offset];
|
uint8_t dataBlockBit = DemodBuffer[offset];
|
||||||
|
|
||||||
offset++;
|
offset++;
|
||||||
uint32_t reservedCode = bytebits_to_byteLSBF(DemodBuffer + offset, 14);
|
uint32_t reservedCode = bytebits_to_byteLSBF(DemodBuffer + offset, 14);
|
||||||
|
|
||||||
offset += 14;
|
offset += 14;
|
||||||
uint8_t animalBit = DemodBuffer[offset];
|
uint8_t animalBit = DemodBuffer[offset];
|
||||||
|
|
||||||
offset++;
|
offset++;
|
||||||
uint16_t crc = bytebits_to_byteLSBF(DemodBuffer + offset, 16);
|
uint16_t crc = bytebits_to_byteLSBF(DemodBuffer + offset, 16);
|
||||||
|
|
||||||
offset += 16;
|
offset += 16;
|
||||||
uint32_t extended = bytebits_to_byteLSBF(DemodBuffer + offset, 24);
|
uint32_t extended = bytebits_to_byteLSBF(DemodBuffer + offset, 24);
|
||||||
|
|
||||||
uint64_t rawid = (uint64_t)(bytebits_to_byte(DemodBuffer, 32)) << 32 | bytebits_to_byte(DemodBuffer + 32, 32);
|
uint64_t rawid = (uint64_t)(bytebits_to_byte(DemodBuffer, 32)) << 32 | bytebits_to_byte(DemodBuffer + 32, 32);
|
||||||
uint8_t raw[8];
|
uint8_t raw[8];
|
||||||
|
@ -389,13 +389,13 @@ static int CmdFdxClone(const char *Cmd) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (errors || strlen(Cmd) == 0) return usage_lf_fdx_clone();
|
if (errors || strlen(Cmd) == 0) return usage_lf_fdx_clone();
|
||||||
|
|
||||||
verify_values(&national_code, &country_code, &extended, &is_animal);
|
verify_values(&national_code, &country_code, &extended, &is_animal);
|
||||||
|
|
||||||
PrintAndLogEx(INFO, " Country code %"PRIu32, country_code);
|
PrintAndLogEx(INFO, " Country code %"PRIu32, country_code);
|
||||||
PrintAndLogEx(INFO, " National code %"PRIu64, national_code);
|
PrintAndLogEx(INFO, " National code %"PRIu64, national_code);
|
||||||
PrintAndLogEx(INFO, " Set animal bit %c", (is_animal) ? 'Y':'N');
|
PrintAndLogEx(INFO, " Set animal bit %c", (is_animal) ? 'Y' : 'N');
|
||||||
PrintAndLogEx(INFO, "Set data block bit %c", (has_extended) ? 'Y':'N');
|
PrintAndLogEx(INFO, "Set data block bit %c", (has_extended) ? 'Y' : 'N');
|
||||||
PrintAndLogEx(INFO, " Extended data 0x%"PRIX32, extended);
|
PrintAndLogEx(INFO, " Extended data 0x%"PRIX32, extended);
|
||||||
PrintAndLogEx(INFO, " RFU 0");
|
PrintAndLogEx(INFO, " RFU 0");
|
||||||
|
|
||||||
|
@ -469,13 +469,13 @@ static int CmdFdxSim(const char *Cmd) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (errors) return usage_lf_fdx_sim();
|
if (errors) return usage_lf_fdx_sim();
|
||||||
|
|
||||||
verify_values(&national_code, &country_code, &extended, &is_animal);
|
verify_values(&national_code, &country_code, &extended, &is_animal);
|
||||||
|
|
||||||
PrintAndLogEx(INFO, " Country code %"PRIu32, country_code);
|
PrintAndLogEx(INFO, " Country code %"PRIu32, country_code);
|
||||||
PrintAndLogEx(INFO, " National code %"PRIu64, national_code);
|
PrintAndLogEx(INFO, " National code %"PRIu64, national_code);
|
||||||
PrintAndLogEx(INFO, " Set animal bit %c", (is_animal) ? 'Y':'N');
|
PrintAndLogEx(INFO, " Set animal bit %c", (is_animal) ? 'Y' : 'N');
|
||||||
PrintAndLogEx(INFO, "Set data block bit %c", (has_extended) ? 'Y':'N');
|
PrintAndLogEx(INFO, "Set data block bit %c", (has_extended) ? 'Y' : 'N');
|
||||||
PrintAndLogEx(INFO, " Extended data 0x%"PRIX32, extended);
|
PrintAndLogEx(INFO, " Extended data 0x%"PRIX32, extended);
|
||||||
PrintAndLogEx(INFO, " RFU 0");
|
PrintAndLogEx(INFO, " RFU 0");
|
||||||
|
|
||||||
|
|
|
@ -356,7 +356,7 @@ int getGuardBits(uint8_t fmtlen, uint32_t fc, uint32_t cn, uint8_t *guardBits) {
|
||||||
rawbytes[i + 4] = bytebits_to_byte(pre + (i * 8), 8);
|
rawbytes[i + 4] = bytebits_to_byte(pre + (i * 8), 8);
|
||||||
|
|
||||||
PrintAndLogEx(DEBUG, " WIE | %s", sprint_hex(rawbytes, sizeof(rawbytes)));
|
PrintAndLogEx(DEBUG, " WIE | %s", sprint_hex(rawbytes, sizeof(rawbytes)));
|
||||||
|
|
||||||
// XOR (only works on wiegand stuff)
|
// XOR (only works on wiegand stuff)
|
||||||
for (i = 1; i < sizeof(rawbytes); ++i)
|
for (i = 1; i < sizeof(rawbytes); ++i)
|
||||||
rawbytes[i] ^= xorKey ;
|
rawbytes[i] ^= xorKey ;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue