diff --git a/client/src/cmdhfmf.c b/client/src/cmdhfmf.c index 62c06e6f7..757d40288 100644 --- a/client/src/cmdhfmf.c +++ b/client/src/cmdhfmf.c @@ -522,7 +522,7 @@ static int32_t initSectorTable(sector_t **src, int32_t items) { static void decode_print_st(uint16_t blockno, uint8_t *data) { if (mfIsSectorTrailer(blockno)) { - + PrintAndLogEx(NORMAL, ""); PrintAndLogEx(INFO, "--------- " _CYAN_("Sector trailer") " -------------"); PrintAndLogEx(INFO, "key A........ " _GREEN_("%s"), sprint_hex_inrow(data, 6)); PrintAndLogEx(INFO, "acr.......... " _GREEN_("%s"), sprint_hex_inrow(data + 6, 3)); @@ -790,7 +790,6 @@ static int CmdHF14AMfRdSc(const char *Cmd) { PrintAndLogEx(NORMAL, "Key must include 12 HEX symbols"); return PM3_ESOFT; } - PrintAndLogEx(INFO, "reading sector no %d, key %c, " _YELLOW_("%s"), sectorNo, keyType ? 'B' : 'A', sprint_hex_inrow(key, 6)); PrintAndLogEx(NORMAL, ""); uint8_t sc_size = mfNumBlocksPerSector(sectorNo) * 16; @@ -806,10 +805,16 @@ static int CmdHF14AMfRdSc(const char *Cmd) { uint8_t blocks = NumBlocksPerSector(sectorNo); uint8_t start = FirstBlockOfSector(sectorNo); - PrintAndLogEx(INFO, "blk | data"); - PrintAndLogEx(INFO, "----+------------------------------------------------"); + PrintAndLogEx(INFO, " # | data - sector %02d / 0x%02X | ascii", sectorNo, sectorNo); + PrintAndLogEx(INFO, "----+-------------------------------------------------+-----------------"); for (int i = 0; i < blocks; i++) { - PrintAndLogEx(INFO, "%3d | %s", start + i, sprint_hex(data + (i * 16), 16)); + if (start + i == 0) { + PrintAndLogEx(INFO, "%3d | " _RED_("%s"), start + i, sprint_hex_ascii(data + (i * 16), 16)); + } else if (mfIsSectorTrailer(i)) { + PrintAndLogEx(INFO, "%3d | " _YELLOW_("%s"), start + i, sprint_hex_ascii(data + (i * 16), 16)); + } else { + PrintAndLogEx(INFO, "%3d | %s ", start + i, sprint_hex_ascii(data + (i * 16), 16)); + } } decode_print_st(start + blocks - 1, data + ((blocks - 1) * 16)); @@ -3775,8 +3780,10 @@ static int CmdHF14AMfEGetSc(const char *Cmd) { return PM3_ESOFT; } - PrintAndLogEx(NORMAL, "\n # | data - sector %02d / 0x%02X ", sector, sector); - PrintAndLogEx(NORMAL, "----+------------------------------------------------"); + PrintAndLogEx(NORMAL, ""); + PrintAndLogEx(INFO, " # | data - sector %02d / 0x%02X | ascii", sector, sector); + PrintAndLogEx(INFO, "----+-------------------------------------------------+-----------------"); + uint8_t blocks = 4; uint8_t start = sector * 4; if (sector >= 32) { @@ -3789,11 +3796,11 @@ static int CmdHF14AMfEGetSc(const char *Cmd) { int res = mfEmlGetMem(data, start + i, 1); if (res == PM3_SUCCESS) { if (start + i == 0) { - PrintAndLogEx(INFO, "%03d | " _RED_("%s"), start + i, sprint_hex_ascii(data, sizeof(data))); + PrintAndLogEx(INFO, "%3d | " _RED_("%s"), start + i, sprint_hex_ascii(data, sizeof(data))); } else if (mfIsSectorTrailer(i)) { - PrintAndLogEx(INFO, "%03d | " _YELLOW_("%s"), start + i, sprint_hex_ascii(data, sizeof(data))); + PrintAndLogEx(INFO, "%3d | " _YELLOW_("%s"), start + i, sprint_hex_ascii(data, sizeof(data))); } else { - PrintAndLogEx(INFO, "%03d | %s ", start + i, sprint_hex_ascii(data, sizeof(data))); + PrintAndLogEx(INFO, "%3d | %s ", start + i, sprint_hex_ascii(data, sizeof(data))); } } } @@ -4471,8 +4478,10 @@ static int CmdHF14AMfCGetSc(const char *Cmd) { return PM3_ESOFT; } - PrintAndLogEx(NORMAL, "\n # | data - sector %02d / 0x%02X ", sector, sector); - PrintAndLogEx(NORMAL, "----+------------------------------------------------"); + PrintAndLogEx(NORMAL, ""); + PrintAndLogEx(INFO, " # | data - sector %02d / 0x%02X | ascii", sector, sector); + PrintAndLogEx(INFO, "----+-------------------------------------------------+-----------------"); + uint8_t blocks = 4; uint8_t start = sector * 4; if (sector >= 32) { @@ -4491,7 +4500,7 @@ static int CmdHF14AMfCGetSc(const char *Cmd) { PrintAndLogEx(ERR, "Can't read block. %d error=%d", start + i, res); return PM3_ESOFT; } - PrintAndLogEx(NORMAL, "%3d | %s", start + i, sprint_hex(data, 16)); + PrintAndLogEx(INFO, "%3d | %s ", start + i, sprint_hex_ascii(data, sizeof(data))); } decode_print_st(start + blocks - 1, data); return PM3_SUCCESS;