annotate xerox reads

This commit is contained in:
iceman1001 2024-01-26 21:10:11 +01:00
parent 7128c8cfdf
commit 68d9fe3232
3 changed files with 14 additions and 9 deletions

View file

@ -1669,11 +1669,16 @@ void annotateIso14443b(char *exp, size_t size, uint8_t *cmd, uint8_t cmdsize) {
case ISO14443B_PONG: case ISO14443B_PONG:
snprintf(exp, size, "PONG"); snprintf(exp, size, "PONG");
break; break;
case ISO14443B_XEROX_PWD: case 0x02:
if (cmdsize == 17 && cmd[1] == 0x38) { if (cmdsize == 17 && cmd[1] == ISO14443B_XEROX_PWD) {
snprintf(exp, size, "XEROX PWD"); snprintf(exp, size, "XEROX PWD");
break; break;
} }
if (cmdsize == 13 && cmd[1] == ISO14443B_XEROX_READ_BLK) {
snprintf(exp, size, "XEROX READ_BLK(%u)", cmd[2+8]);
break;
}
case ISO14443B_XEROX_WUP1: case ISO14443B_XEROX_WUP1:
if (cmdsize == 5) { if (cmdsize == 5) {
snprintf(exp, size, "XEROX WUP1"); snprintf(exp, size, "XEROX WUP1");

View file

@ -636,7 +636,7 @@ static int read_xerox_block(iso14b_card_select_t *card, uint8_t blockno, uint8_t
// set up the read command // set up the read command
packet->flags = (ISO14B_CONNECT | ISO14B_APPEND_CRC | ISO14B_RAW); packet->flags = (ISO14B_CONNECT | ISO14B_APPEND_CRC | ISO14B_RAW);
packet->raw[packet->rawlen++] = 0x02; packet->raw[packet->rawlen++] = 0x02;
packet->raw[packet->rawlen++] = XEROX_READ_MEM; packet->raw[packet->rawlen++] = ISO14443B_XEROX_READ_BLK;
// uid // uid
memcpy(packet->raw + packet->rawlen, card->uid, card->uidlen); memcpy(packet->raw + packet->rawlen, card->uid, card->uidlen);

View file

@ -314,9 +314,12 @@ ISO 7816-4 Basic interindustry commands. For command APDU's.
#define ISO14443B_PING 0xBA #define ISO14443B_PING 0xBA
#define ISO14443B_PONG 0xAB #define ISO14443B_PONG 0xAB
#define ISO14443B_XEROX_PWD 0x02 // XEROX Commands
#define ISO14443B_XEROX_WUP1 0x0D #define ISO14443B_XEROX_PWD 0x38
#define ISO14443B_XEROX_WUP2 0x5D #define ISO14443B_XEROX_WUP1 0x0D
#define ISO14443B_XEROX_WUP2 0x5D
#define ISO14443B_XEROX_READ_BLK 0x20
// ASK C-ticket // ASK C-ticket
#define ASK_REQT 0x10 #define ASK_REQT 0x10
@ -930,8 +933,5 @@ ISO 7816-4 Basic interindustry commands. For command APDU's.
// 0x0A = ACK // 0x0A = ACK
// 0x05 = NACK // 0x05 = NACK
// XEROX Commands
#define XEROX_READ_MEM 0x20
#endif #endif
// PROTOCOLS_H // PROTOCOLS_H