mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-22 14:23:50 -07:00
detailed print settings
This commit is contained in:
parent
d6f75fa427
commit
cd760e05e7
3 changed files with 50 additions and 4 deletions
|
@ -6707,6 +6707,7 @@ static int CmdHF14ADesDump(const char *Cmd) {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PrintAndLogEx(NORMAL, "");
|
||||||
PrintAndLogEx(INFO, "Application " _CYAN_("%06x") " have " _GREEN_("%zu") " files", appid, filescount);
|
PrintAndLogEx(INFO, "Application " _CYAN_("%06x") " have " _GREEN_("%zu") " files", appid, filescount);
|
||||||
|
|
||||||
res = PM3_SUCCESS;
|
res = PM3_SUCCESS;
|
||||||
|
@ -6725,11 +6726,11 @@ static int CmdHF14ADesDump(const char *Cmd) {
|
||||||
PrintAndLogEx(SUCCESS, "File ID : " _GREEN_("%02x"), FileList[i].fileNum);
|
PrintAndLogEx(SUCCESS, "File ID : " _GREEN_("%02x"), FileList[i].fileNum);
|
||||||
if (isopresent) {
|
if (isopresent) {
|
||||||
if (FileList[i].fileISONum != 0)
|
if (FileList[i].fileISONum != 0)
|
||||||
PrintAndLogEx(SUCCESS, "File ISO ID: %04x", FileList[i].fileISONum);
|
PrintAndLogEx(SUCCESS, "File ISO ID : %04x", FileList[i].fileISONum);
|
||||||
else
|
else
|
||||||
PrintAndLogEx(SUCCESS, "File ISO ID: " _YELLOW_("n/a"));
|
PrintAndLogEx(SUCCESS, "File ISO ID : " _YELLOW_("n/a"));
|
||||||
}
|
}
|
||||||
DesfirePrintFileSettingsOneLine(&FileList[i].fileSettings);
|
DesfirePrintFileSettingsExtended(&FileList[i].fileSettings);
|
||||||
|
|
||||||
res = DesfileReadFileAndPrint(&dctx, FileList[i].fileNum, RFTAuto, 0, 0, noauth, verbose);
|
res = DesfileReadFileAndPrint(&dctx, FileList[i].fileNum, RFTAuto, 0, 0, noauth, verbose);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1567,6 +1567,50 @@ void DesfirePrintFileSettingsOneLine(FileSettingsS *fsettings) {
|
||||||
GetDesfireAccessRightStr(fsettings->chAccess));
|
GetDesfireAccessRightStr(fsettings->chAccess));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DesfirePrintFileSettingsExtended(FileSettingsS *fsettings) {
|
||||||
|
PrintAndLogEx(SUCCESS, "File type : " _CYAN_("%s") " [0x%02x]", GetDesfireFileType(fsettings->fileType), fsettings->fileType);
|
||||||
|
PrintAndLogEx(SUCCESS, "Comm mode : %s", GetDesfireCommunicationMode(fsettings->fileCommMode));
|
||||||
|
|
||||||
|
switch (fsettings->fileType) {
|
||||||
|
case 0x00:
|
||||||
|
case 0x01: {
|
||||||
|
PrintAndLogEx(SUCCESS, "File size : %d [0x%x] bytes", fsettings->fileSize, fsettings->fileSize);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0x02: {
|
||||||
|
PrintAndLogEx(SUCCESS, "Lower limit : %d [0x%x]", fsettings->lowerLimit, fsettings->lowerLimit);
|
||||||
|
PrintAndLogEx(SUCCESS, "Upper limit : %d [0x%x]", fsettings->upperLimit, fsettings->upperLimit);
|
||||||
|
bool limited_credit_enabled = ((fsettings->limitedCredit & 0x01) != 0);
|
||||||
|
PrintAndLogEx(SUCCESS, "Limited credit : [%d - %s] %d (0x%08X)", fsettings->limitedCredit, (limited_credit_enabled) ? "enabled" : "disabled", fsettings->value, fsettings->value);
|
||||||
|
PrintAndLogEx(SUCCESS, "GetValue access : %s", ((fsettings->limitedCredit & 0x02) != 0) ? "Free" : "Not Free");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0x03:
|
||||||
|
case 0x04: {
|
||||||
|
PrintAndLogEx(SUCCESS, "Record count : %d [0x%x]", fsettings->curRecordCount, fsettings->curRecordCount);
|
||||||
|
PrintAndLogEx(SUCCESS, "Max record count: %d [0x%x]", fsettings->maxRecordCount, fsettings->maxRecordCount);
|
||||||
|
PrintAndLogEx(SUCCESS, "Record size : %d [0x%x] bytes", fsettings->recordSize, fsettings->recordSize);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0x05: {
|
||||||
|
PrintAndLogEx(SUCCESS, "Key type : 0x%02x", fsettings->keyType);
|
||||||
|
PrintAndLogEx(SUCCESS, "Key version : 0x%02x ", fsettings->keyVersion);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PrintAndLogEx(SUCCESS, "Access rights : %04x (r: %s w: %s rw: %s change: %s)",
|
||||||
|
fsettings->rawAccessRights,
|
||||||
|
GetDesfireAccessRightStr(fsettings->rAccess),
|
||||||
|
GetDesfireAccessRightStr(fsettings->wAccess),
|
||||||
|
GetDesfireAccessRightStr(fsettings->rwAccess),
|
||||||
|
GetDesfireAccessRightStr(fsettings->chAccess));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void DesfirePrintFileSettDynPart(uint8_t filetype, uint8_t *data, size_t datalen, uint8_t *dynlen, bool create) {
|
static void DesfirePrintFileSettDynPart(uint8_t filetype, uint8_t *data, size_t datalen, uint8_t *dynlen, bool create) {
|
||||||
switch (filetype) {
|
switch (filetype) {
|
||||||
case 0x00:
|
case 0x00:
|
||||||
|
|
|
@ -136,6 +136,7 @@ int DesfireGetFileISOIDList(DesfireContext *dctx, uint8_t *resp, size_t *resplen
|
||||||
|
|
||||||
void DesfireFillFileSettings(uint8_t *data, size_t datalen, FileSettingsS *fsettings);
|
void DesfireFillFileSettings(uint8_t *data, size_t datalen, FileSettingsS *fsettings);
|
||||||
void DesfirePrintFileSettingsOneLine(FileSettingsS *fsettings);
|
void DesfirePrintFileSettingsOneLine(FileSettingsS *fsettings);
|
||||||
|
void DesfirePrintFileSettingsExtended(FileSettingsS *fsettings);
|
||||||
int DesfireGetFileSettings(DesfireContext *dctx, uint8_t fileid, uint8_t *resp, size_t *resplen);
|
int DesfireGetFileSettings(DesfireContext *dctx, uint8_t fileid, uint8_t *resp, size_t *resplen);
|
||||||
int DesfireGetFileSettingsStruct(DesfireContext *dctx, uint8_t fileid, FileSettingsS *fsettings);
|
int DesfireGetFileSettingsStruct(DesfireContext *dctx, uint8_t fileid, FileSettingsS *fsettings);
|
||||||
int DesfireChangeFileSettings(DesfireContext *dctx, uint8_t *data, size_t datalen);
|
int DesfireChangeFileSettings(DesfireContext *dctx, uint8_t *data, size_t datalen);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue