Merge pull request #2045 from DidierA/trace_ppss

trace: fix PPSS and  add CID, FSDI to RATS
This commit is contained in:
Iceman 2023-07-20 11:16:15 +02:00 committed by GitHub
commit aff017cce8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -273,11 +273,13 @@ int applyIso14443a(char *exp, size_t size, uint8_t *cmd, uint8_t cmdsize, bool i
MifareAuthState = masNone; MifareAuthState = masNone;
break; break;
case ISO14443A_CMD_RATS: case ISO14443A_CMD_RATS:
snprintf(exp, size, "RATS"); snprintf(exp, size, "RATS - FSDI=0x%x, CID=0x%x", (cmd[1] & 0xF0) >> 4, (cmd[1] & 0x0F) );
break; break;
/* Actually, PPSS is Dx
case ISO14443A_CMD_PPS: case ISO14443A_CMD_PPS:
snprintf(exp, size, "PPS"); snprintf(exp, size, "PPS");
break; break;
*/
case ISO14443A_CMD_OPTS: case ISO14443A_CMD_OPTS:
snprintf(exp, size, "OPTIONAL TIMESLOT"); snprintf(exp, size, "OPTIONAL TIMESLOT");
break; break;
@ -423,11 +425,15 @@ int applyIso14443a(char *exp, size_t size, uint8_t *cmd, uint8_t cmdsize, bool i
snprintf(exp, size, "FAST WRITE (" _MAGENTA_("%d-%d") ")", cmd[1], cmd[2]); snprintf(exp, size, "FAST WRITE (" _MAGENTA_("%d-%d") ")", cmd[1], cmd[2]);
else else
snprintf(exp, size, "?"); snprintf(exp, size, "?");
break; break;
default: default:
if ( (cmd[0] & 0xF0) == 0xD0 && ( cmdsize == 4 || cmdsize == 5 )) {
snprintf(exp, size, "PPSS - CID=0x%x", cmd[0] & 0x0F) ;
} else {
return PM3_ESOFT; return PM3_ESOFT;
} }
}
} else { } else {
if (gs_mfuc_state == 1) { if (gs_mfuc_state == 1) {
if ((cmd[0] == 0xAF) && (cmdsize == 11)) { if ((cmd[0] == 0xAF) && (cmdsize == 11)) {