mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-22 06:13:51 -07:00
style
This commit is contained in:
parent
db2afab6a0
commit
376bee42e8
3 changed files with 26 additions and 23 deletions
|
@ -222,8 +222,13 @@ static int ul_send_cmd_raw(uint8_t *cmd, uint8_t cmdlen, uint8_t *response, uint
|
||||||
clearCommandBuffer();
|
clearCommandBuffer();
|
||||||
SendCommandMIX(CMD_HF_ISO14443A_READER, ISO14A_RAW | ISO14A_NO_DISCONNECT | ISO14A_APPEND_CRC | ISO14A_NO_RATS, cmdlen, 0, cmd, cmdlen);
|
SendCommandMIX(CMD_HF_ISO14443A_READER, ISO14A_RAW | ISO14A_NO_DISCONNECT | ISO14A_APPEND_CRC | ISO14A_NO_RATS, cmdlen, 0, cmd, cmdlen);
|
||||||
PacketResponseNG resp;
|
PacketResponseNG resp;
|
||||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1500)) return -1;
|
if (WaitForResponseTimeout(CMD_ACK, &resp, 1500) == false) {
|
||||||
if (!resp.oldarg[0] && responseLength) return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!resp.oldarg[0] && responseLength) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
uint16_t resplen = (resp.oldarg[0] < responseLength) ? resp.oldarg[0] : responseLength;
|
uint16_t resplen = (resp.oldarg[0] < responseLength) ? resp.oldarg[0] : responseLength;
|
||||||
memcpy(response, resp.data.asBytes, resplen);
|
memcpy(response, resp.data.asBytes, resplen);
|
||||||
|
@ -423,34 +428,27 @@ static int ul_auth_select(iso14a_card_select_t *card, uint64_t tagtype, bool has
|
||||||
|
|
||||||
static int ntagtt_getTamperStatus(uint8_t *response, uint16_t responseLength) {
|
static int ntagtt_getTamperStatus(uint8_t *response, uint16_t responseLength) {
|
||||||
uint8_t cmd[] = {NTAGTT_CMD_READ_TT, 0x00};
|
uint8_t cmd[] = {NTAGTT_CMD_READ_TT, 0x00};
|
||||||
int len = ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength);
|
return ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength);
|
||||||
return len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ulev1_getVersion(uint8_t *response, uint16_t responseLength) {
|
static int ulev1_getVersion(uint8_t *response, uint16_t responseLength) {
|
||||||
uint8_t cmd[] = {MIFARE_ULEV1_VERSION};
|
uint8_t cmd[] = {MIFARE_ULEV1_VERSION};
|
||||||
int len = ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength);
|
return ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength);
|
||||||
return len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ulev1_readCounter(uint8_t counter, uint8_t *response, uint16_t responseLength) {
|
static int ulev1_readCounter(uint8_t counter, uint8_t *response, uint16_t responseLength) {
|
||||||
|
|
||||||
uint8_t cmd[] = {MIFARE_ULEV1_READ_CNT, counter};
|
uint8_t cmd[] = {MIFARE_ULEV1_READ_CNT, counter};
|
||||||
int len = ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength);
|
return ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength);
|
||||||
return len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ulev1_readTearing(uint8_t counter, uint8_t *response, uint16_t responseLength) {
|
static int ulev1_readTearing(uint8_t counter, uint8_t *response, uint16_t responseLength) {
|
||||||
|
|
||||||
uint8_t cmd[] = {MIFARE_ULEV1_CHECKTEAR, counter};
|
uint8_t cmd[] = {MIFARE_ULEV1_CHECKTEAR, counter};
|
||||||
int len = ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength);
|
return ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength);
|
||||||
return len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ulev1_readSignature(uint8_t *response, uint16_t responseLength) {
|
static int ulev1_readSignature(uint8_t *response, uint16_t responseLength) {
|
||||||
uint8_t cmd[] = {MIFARE_ULEV1_READSIG, 0x00};
|
uint8_t cmd[] = {MIFARE_ULEV1_READSIG, 0x00};
|
||||||
int len = ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength);
|
return ul_send_cmd_raw(cmd, sizeof(cmd), response, responseLength);
|
||||||
return len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fudan check checks for which error is given for a command with incorrect crc
|
// Fudan check checks for which error is given for a command with incorrect crc
|
||||||
|
@ -688,8 +686,9 @@ static int ndef_print_CC(uint8_t *data) {
|
||||||
|
|
||||||
int ul_print_type(uint64_t tagtype, uint8_t spaces) {
|
int ul_print_type(uint64_t tagtype, uint8_t spaces) {
|
||||||
|
|
||||||
if (spaces > 10)
|
if (spaces > 10) {
|
||||||
spaces = 10;
|
spaces = 10;
|
||||||
|
}
|
||||||
|
|
||||||
char typestr[100];
|
char typestr[100];
|
||||||
memset(typestr, 0x00, sizeof(typestr));
|
memset(typestr, 0x00, sizeof(typestr));
|
||||||
|
@ -756,16 +755,20 @@ int ul_print_type(uint64_t tagtype, uint8_t spaces) {
|
||||||
snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("Unknown %06" PRIx64), spaces, "", tagtype);
|
snprintf(typestr, sizeof(typestr), "%*sTYPE: " _YELLOW_("Unknown %06" PRIx64), spaces, "", tagtype);
|
||||||
|
|
||||||
bool ismagic = ((tagtype & MFU_TT_MAGIC) == MFU_TT_MAGIC);
|
bool ismagic = ((tagtype & MFU_TT_MAGIC) == MFU_TT_MAGIC);
|
||||||
if (ismagic)
|
if (ismagic) {
|
||||||
snprintf(typestr + strlen(typestr), 4, " (");
|
snprintf(typestr + strlen(typestr), 4, " (");
|
||||||
|
}
|
||||||
|
|
||||||
snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), " %s ", (tagtype & MFU_TT_MAGIC) ? _GREEN_("magic") : "");
|
snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), " %s ", (tagtype & MFU_TT_MAGIC) ? _GREEN_("magic") : "");
|
||||||
|
|
||||||
tagtype &= ~(MFU_TT_MAGIC);
|
tagtype &= ~(MFU_TT_MAGIC);
|
||||||
|
|
||||||
snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), "%s", (tagtype & MFU_TT_MAGIC_1A) ? _GREEN_("Gen 1a") : "");
|
snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), "%s", (tagtype & MFU_TT_MAGIC_1A) ? _GREEN_("Gen 1a") : "");
|
||||||
snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), "%s", (tagtype & MFU_TT_MAGIC_1B) ? _GREEN_("Gen 1b") : "");
|
snprintf(typestr + strlen(typestr), sizeof(typestr) - strlen(typestr), "%s", (tagtype & MFU_TT_MAGIC_1B) ? _GREEN_("Gen 1b") : "");
|
||||||
|
|
||||||
if (ismagic)
|
if (ismagic) {
|
||||||
snprintf(typestr + strlen(typestr), 4, " )");
|
snprintf(typestr + strlen(typestr), 4, " )");
|
||||||
|
}
|
||||||
|
|
||||||
PrintAndLogEx(SUCCESS, "%s", typestr);
|
PrintAndLogEx(SUCCESS, "%s", typestr);
|
||||||
return PM3_SUCCESS;
|
return PM3_SUCCESS;
|
||||||
|
@ -1781,6 +1784,7 @@ uint32_t GetHF14AMfU_Type(void) {
|
||||||
NT2H1311TTDUx 0004040203000F03
|
NT2H1311TTDUx 0004040203000F03
|
||||||
Micron UL 0034210101000E03
|
Micron UL 0034210101000E03
|
||||||
Feiju NTAG 0053040201000F03
|
Feiju NTAG 0053040201000F03
|
||||||
|
MF0AES2001DUD 0004030104000F03
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (memcmp(version, "\x00\x04\x03\x01\x01\x00\x0B", 7) == 0) { tagtype = MFU_TT_UL_EV1_48; break; }
|
if (memcmp(version, "\x00\x04\x03\x01\x01\x00\x0B", 7) == 0) { tagtype = MFU_TT_UL_EV1_48; break; }
|
||||||
|
@ -1826,7 +1830,9 @@ uint32_t GetHF14AMfU_Type(void) {
|
||||||
|
|
||||||
// UL vs UL-C vs ntag203 test
|
// UL vs UL-C vs ntag203 test
|
||||||
if (tagtype & (MFU_TT_UL | MFU_TT_UL_C | MFU_TT_NTAG_203)) {
|
if (tagtype & (MFU_TT_UL | MFU_TT_UL_C | MFU_TT_NTAG_203)) {
|
||||||
if (!ul_select(&card)) return MFU_TT_UL_ERROR;
|
if (ul_select(&card) == false) {
|
||||||
|
return MFU_TT_UL_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
// do UL_C check first...
|
// do UL_C check first...
|
||||||
uint8_t nonce[11] = {0x00};
|
uint8_t nonce[11] = {0x00};
|
||||||
|
@ -1836,8 +1842,9 @@ uint32_t GetHF14AMfU_Type(void) {
|
||||||
tagtype = MFU_TT_UL_C;
|
tagtype = MFU_TT_UL_C;
|
||||||
} else {
|
} else {
|
||||||
// need to re-select after authentication error
|
// need to re-select after authentication error
|
||||||
if (ul_select(&card) == false)
|
if (ul_select(&card) == false) {
|
||||||
return MFU_TT_UL_ERROR;
|
return MFU_TT_UL_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t data[16] = {0x00};
|
uint8_t data[16] = {0x00};
|
||||||
// read page 0x26-0x29 (last valid ntag203 page)
|
// read page 0x26-0x29 (last valid ntag203 page)
|
||||||
|
|
|
@ -52,9 +52,6 @@ int CmdHFMFUltra(const char *Cmd);
|
||||||
int CmdHF14MfuNDEFRead(const char *Cmd);
|
int CmdHF14MfuNDEFRead(const char *Cmd);
|
||||||
int CmdHF14MfUTamper(const char *Cmd);
|
int CmdHF14MfUTamper(const char *Cmd);
|
||||||
|
|
||||||
uint16_t ul_ev1_packgen_VCNEW(uint8_t *uid, uint32_t pwd);
|
|
||||||
uint32_t ul_ev1_otpgenA(uint8_t *uid);
|
|
||||||
|
|
||||||
#define MFU_TT_UNKNOWN 0x0ULL
|
#define MFU_TT_UNKNOWN 0x0ULL
|
||||||
#define MFU_TT_UL 0x1ULL
|
#define MFU_TT_UL 0x1ULL
|
||||||
#define MFU_TT_UL_C 0x2ULL
|
#define MFU_TT_UL_C 0x2ULL
|
||||||
|
|
|
@ -60,7 +60,6 @@ int bitsLeft(BitstreamIn_t *stream);
|
||||||
int testCipherUtils(void);
|
int testCipherUtils(void);
|
||||||
#endif
|
#endif
|
||||||
void push6bits(BitstreamOut_t *stream, uint8_t bits);
|
void push6bits(BitstreamOut_t *stream, uint8_t bits);
|
||||||
void EncryptDES(bool key[56], bool outBlk[64], bool inBlk[64], int verbose) ;
|
|
||||||
void x_num_to_bytes(uint64_t n, size_t len, uint8_t *dest);
|
void x_num_to_bytes(uint64_t n, size_t len, uint8_t *dest);
|
||||||
uint64_t x_bytes_to_num(uint8_t *src, size_t len);
|
uint64_t x_bytes_to_num(uint8_t *src, size_t len);
|
||||||
uint8_t reversebyte(uint8_t b);
|
uint8_t reversebyte(uint8_t b);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue