aread fix

This commit is contained in:
merlokk 2022-02-02 20:26:37 +02:00
commit a93fb00afb

View file

@ -458,25 +458,23 @@ void CIPURSEPrintFileAttr(uint8_t *attr, size_t len) {
CIPURSEPrintKeyAttrib(&attr[9 + keynum + 1 + i * 7]); CIPURSEPrintKeyAttrib(&attr[9 + keynum + 1 + i * 7]);
} }
} }
// MF + FCP // FCP
if (attr[1] == 0x00 && len >= 9 + keynum + 1 + keynum * 7 + 1) { if (len >= 9 + keynum + 1 + keynum * 7 + 1) {
int xlen = len - (9 + keynum + 1 + keynum * 7) - 6; int xlen = len - (9 + keynum + 1 + keynum * 7);
// for MF only
if (attr[1] == 0x00)
xlen = xlen - 6;
if (xlen > 0 && xlen < 200) { if (xlen > 0 && xlen < 200) {
PrintAndLogEx(INFO, "FCP... [%d] %s", xlen, sprint_hex(&attr[9 + keynum + 1 + keynum * 7], xlen)); PrintAndLogEx(INFO, "TLV file control parameters... [%d] %s", xlen, sprint_hex(&attr[9 + keynum + 1 + keynum * 7], xlen));
TLVPrintFromBuffer(&attr[9 + keynum + 1 + keynum * 7], xlen); TLVPrintFromBuffer(&attr[9 + keynum + 1 + keynum * 7], xlen);
PrintAndLogEx(INFO, ""); PrintAndLogEx(NORMAL, "");
} }
} }
// MF // MF only
if (attr[1] == 0x00) { if (attr[1] == 0x00) {
PrintAndLogEx(INFO, "Total memory size... %d", (attr[len - 6] << 16) + (attr[len - 5] << 8) + attr[len - 4]); PrintAndLogEx(INFO, "Total memory size... %d", (attr[len - 6] << 16) + (attr[len - 5] << 8) + attr[len - 4]);
PrintAndLogEx(INFO, "Free memory size.... %d", (attr[len - 3] << 16) + (attr[len - 2] << 8) + attr[len - 1]); PrintAndLogEx(INFO, "Free memory size.... %d", (attr[len - 3] << 16) + (attr[len - 2] << 8) + attr[len - 1]);
} else {
int ptr = 11 + keynum + 1 + keynum * 7;
if (len > ptr) {
PrintAndLogEx(INFO, "TLV file control... %s", sprint_hex(&attr[ptr], len - ptr));
}
} }
} else { } else {
PrintAndLogEx(INFO, "Type... EF"); PrintAndLogEx(INFO, "Type... EF");