diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index cf17a2505..c79be251a 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -2494,7 +2494,8 @@ void printIclassDumpContents(uint8_t *iclass_dump, uint8_t startblock, uint8_t e if (i != 1) PrintAndLogEx(INFO, " ......"); - uint8_t fb = (iclass_dump + (6 * 8))[0]; + uint8_t fb1 = (iclass_dump + (6 * 8))[0]; + uint8_t fb2 = (iclass_dump + (10 * 8))[0]; while (i <= endblock) { uint8_t *blk = iclass_dump + (i * 8); @@ -2555,7 +2556,7 @@ void printIclassDumpContents(uint8_t *iclass_dump, uint8_t startblock, uint8_t e } else { const char *info_ks[] = {"CSN", "Config", "E-purse", "Debit", "Credit", "AIA", "User"}; - if (i >= 6 && i <= 9 && fb != 0x30) { + if (i >= 6 && i <= 9 && fb1 != 0x30) { // legacy credential PrintAndLogEx(INFO, "%3d/0x%02X | " _YELLOW_("%s") "| " _YELLOW_("%s") " | %s | User / Cred " , i @@ -2564,7 +2565,16 @@ void printIclassDumpContents(uint8_t *iclass_dump, uint8_t startblock, uint8_t e , sprint_ascii(blk, 8) , lockstr ); - } else if (i >= 6 && i <= 11 && fb == 0x30) { + } else if (i >= 6 && i <= 11 && fb1 == 0x30) { + // SIO credential + PrintAndLogEx(INFO, "%3d/0x%02X | " _CYAN_("%s") "| " _CYAN_("%s") " | %s | User / SIO" + , i + , i + , sprint_hex(blk, 8) + , sprint_ascii(blk, 8) + , lockstr + ); + } else if (i >= 10 && i <= 16 && fb2 == 0x30) { // SIO credential PrintAndLogEx(INFO, "%3d/0x%02X | " _CYAN_("%s") "| " _CYAN_("%s") " | %s | User / SIO" , i