make style

This commit is contained in:
merlokk 2021-08-04 15:48:20 +03:00
commit 3baf595578
8 changed files with 154 additions and 127 deletions

View file

@ -1450,12 +1450,12 @@ void DesfireCheckAuthCommands(uint32_t appAID, char *dfname, uint8_t keyNum, Aut
void DesfireCheckAuthCommandsPrint(AuthCommandsChk *authCmdCheck) { void DesfireCheckAuthCommandsPrint(AuthCommandsChk *authCmdCheck) {
PrintAndLogEx(NORMAL, "auth: %s auth iso: %s auth aes: %s auth ev2: %s auth iso native: %s", PrintAndLogEx(NORMAL, "auth: %s auth iso: %s auth aes: %s auth ev2: %s auth iso native: %s",
authCmdCheck->auth ? _GREEN_("YES") : _RED_("NO"), authCmdCheck->auth ? _GREEN_("YES") : _RED_("NO"),
authCmdCheck->authISO ? _GREEN_("YES") : _RED_("NO"), authCmdCheck->authISO ? _GREEN_("YES") : _RED_("NO"),
authCmdCheck->authAES ? _GREEN_("YES") : _RED_("NO"), authCmdCheck->authAES ? _GREEN_("YES") : _RED_("NO"),
authCmdCheck->authEV2 ? _GREEN_("YES") : _RED_("NO"), authCmdCheck->authEV2 ? _GREEN_("YES") : _RED_("NO"),
authCmdCheck->authISONative ? _GREEN_("YES") : _RED_("NO") authCmdCheck->authISONative ? _GREEN_("YES") : _RED_("NO")
); );
} }
int DesfireFillPICCInfo(DesfireContext *dctx, PICCInfoS *PICCInfo, bool deepmode) { int DesfireFillPICCInfo(DesfireContext *dctx, PICCInfoS *PICCInfo, bool deepmode) {
@ -1494,9 +1494,9 @@ int DesfireFillPICCInfo(DesfireContext *dctx, PICCInfoS *PICCInfo, bool deepmode
} }
static int AppListSearchAID(uint32_t appNum, AppListS AppList, size_t appcount) { static int AppListSearchAID(uint32_t appNum, AppListS AppList, size_t appcount) {
for (int i = 0; i < appcount; i++) for (int i = 0; i < appcount; i++)
if (AppList[i].appNum == appNum) if (AppList[i].appNum == appNum)
return i; return i;
return -1; return -1;
} }
@ -1641,7 +1641,7 @@ void DesfirePrintAppList(DesfireContext *dctx, PICCInfoS *PICCInfo, AppListS app
PrintAndLogEx(NORMAL, ""); PrintAndLogEx(NORMAL, "");
} }
} }
} }
} }
static int DesfireCommandEx(DesfireContext *dctx, uint8_t cmd, uint8_t *data, size_t datalen, uint8_t *resp, size_t *resplen, int checklength, size_t splitbysize) { static int DesfireCommandEx(DesfireContext *dctx, uint8_t cmd, uint8_t *data, size_t datalen, uint8_t *resp, size_t *resplen, int checklength, size_t splitbysize) {
@ -2228,15 +2228,15 @@ void DesfirePrintFileSettingsTable(bool printheader, uint8_t id, bool isoidavail
PrintAndLogEx(SUCCESS, " ID |ISO ID| File type | Mode | Rights: raw, r w rw ch | File settings "); PrintAndLogEx(SUCCESS, " ID |ISO ID| File type | Mode | Rights: raw, r w rw ch | File settings ");
PrintAndLogEx(SUCCESS, "----------------------------------------------------------------------------------------------------------"); PrintAndLogEx(SUCCESS, "----------------------------------------------------------------------------------------------------------");
} }
PrintAndLogEx(SUCCESS, " " _GREEN_("%02x") " |" NOLF, id); PrintAndLogEx(SUCCESS, " " _GREEN_("%02x") " |" NOLF, id);
if (isoidavail) { if (isoidavail) {
if (isoid != 0) if (isoid != 0)
PrintAndLogEx(NORMAL, " " _CYAN_("%04x") " |" NOLF, isoid); PrintAndLogEx(NORMAL, " " _CYAN_("%04x") " |" NOLF, isoid);
else else
PrintAndLogEx(NORMAL, " " _YELLOW_("n/a ") " |" NOLF); PrintAndLogEx(NORMAL, " " _YELLOW_("n/a ") " |" NOLF);
} else { } else {
PrintAndLogEx(NORMAL, " |" NOLF); PrintAndLogEx(NORMAL, " |" NOLF);
} }
PrintAndLogEx(NORMAL, "0x%02x " _CYAN_("%-13s") " |" NOLF, fsettings->fileType, GetDesfireFileType(fsettings->fileType)); PrintAndLogEx(NORMAL, "0x%02x " _CYAN_("%-13s") " |" NOLF, fsettings->fileType, GetDesfireFileType(fsettings->fileType));
PrintAndLogEx(NORMAL, " %-5s |" NOLF, GetDesfireCommunicationMode(fsettings->fileCommMode)); PrintAndLogEx(NORMAL, " %-5s |" NOLF, GetDesfireCommunicationMode(fsettings->fileCommMode));

View file

@ -278,7 +278,8 @@ static bool TestEV2MAC(void) {
uint8_t ti[] = {0xE2, 0xD3, 0xAF, 0x69}; uint8_t ti[] = {0xE2, 0xD3, 0xAF, 0x69};
uint8_t cmd = 0x8D; uint8_t cmd = 0x8D;
uint8_t cmddata[] = {0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, uint8_t cmddata[] = {0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22}; 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22
};
uint8_t macres[] = {0x68, 0xF2, 0xC2, 0x8C, 0x57, 0x5A, 0x16, 0x28}; uint8_t macres[] = {0x68, 0xF2, 0xC2, 0x8C, 0x57, 0x5A, 0x16, 0x28};
// init // init
@ -314,7 +315,8 @@ static bool TestEV2MAC(void) {
ctx.cmdCntr++; ctx.cmdCntr++;
uint8_t cmddata4[] = {0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, uint8_t cmddata4[] = {0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
uint8_t macres4[] = {0xA4, 0x9A, 0x44, 0x22, 0x2D, 0x92, 0x66, 0x66}; uint8_t macres4[] = {0xA4, 0x9A, 0x44, 0x22, 0x2D, 0x92, 0x66, 0x66};
DesfireEV2CalcCMAC(&ctx, rc, cmddata4, sizeof(cmddata4), mac); DesfireEV2CalcCMAC(&ctx, rc, cmddata4, sizeof(cmddata4), mac);
res = res && (memcmp(mac, macres4, sizeof(macres4)) == 0); res = res && (memcmp(mac, macres4, sizeof(macres4)) == 0);

View file

@ -973,7 +973,7 @@
}, },
"help": { "help": {
"command": "help", "command": "help",
"description": "help use `<command> help` for details of a command prefs { edit client/device preferences... } -------- ----------------------- technology ----------------------- analyse { analyse utils... } data { plot window / data buffer manipulation... } emv { emv iso-14443 / iso-7816... } hf { high frequency commands... } hw { hardware commands... } lf { low frequency commands... } nfc { nfc commands... } reveng { crc calculations from reveng software... } smart { smart card iso-7816 commands... } script { scripting commands... } trace { trace manipulation... } wiegand { wiegand format manipulation... } -------- ----------------------- general ----------------------- clear clear screen hints turn hints on / off msleep add a pause in milliseconds rem add a text line in log file quit exit exit program [=] session log e:\\proxspace\\pm3/.proxmark3/logs/log_20210731.txt --------------------------------------------------------------------------------------- auto available offline: no run lf search / hf search / data plot / data save", "description": "help use `<command> help` for details of a command prefs { edit client/device preferences... } -------- ----------------------- technology ----------------------- analyse { analyse utils... } data { plot window / data buffer manipulation... } emv { emv iso-14443 / iso-7816... } hf { high frequency commands... } hw { hardware commands... } lf { low frequency commands... } nfc { nfc commands... } reveng { crc calculations from reveng software... } smart { smart card iso-7816 commands... } script { scripting commands... } trace { trace manipulation... } wiegand { wiegand format manipulation... } -------- ----------------------- general ----------------------- clear clear screen hints turn hints on / off msleep add a pause in milliseconds rem add a text line in log file quit exit exit program [=] session log e:\\proxspace\\pm3/.proxmark3/logs/log_20210804.txt --------------------------------------------------------------------------------------- auto available offline: no run lf search / hf search / data plot / data save",
"notes": [ "notes": [
"auto" "auto"
], ],
@ -3990,7 +3990,13 @@
"command": "hf mfdes changekey", "command": "hf mfdes changekey",
"description": "change picc/application key. needs to provide keynum/key for a valid authentication (may get from default parameters).", "description": "change picc/application key. needs to provide keynum/key for a valid authentication (may get from default parameters).",
"notes": [ "notes": [
"hf mfdes changekey --aid 123456 -> execute with default factory setup" "change crypto algorithm for picc key is possible, but for app keys crypto algorithm is set by createapp command and can't be changed wo application delete",
"",
"hf mfdes changekey --aid 123456 -> execute with default factory setup. change des key 0 in the app 123456 from 00..00 to 00..00",
"hf mfdes changekey -t des --newalgo aes --newkey 11223344556677889900112233445566 --newver a5 -> change card master key to aes one",
"hf mfdes changekey --aid 123456 -t aes --key 00000000000000000000000000000000 --newkey 11223344556677889900112233445566 -> change app master key",
"hf mfdes changekey --aid 123456 -t des -n 0 --newkeyno 1 --oldkey 5555555555555555 --newkey 1122334455667788 -> change key 1 with auth from key 0",
"hf mfdes changekey --aid 123456 -t 3tdea --newkey 11223344556677889900112233445566778899001122334 -> change 3tdea key 0 from default 00..00 to provided"
], ],
"offline": false, "offline": false,
"options": [ "options": [
@ -4342,6 +4348,26 @@
], ],
"usage": "hf mfdes createvaluefile [-hav] [-n <keyno>] [-t <des/2tdea/3tdea/aes>] [-k <key>] [-f <none/an10922/gallagher>] [-i <kdfi>] [-m <plain/mac/encrypt>] [-c <native/niso/iso>] [-s <d40/ev1/ev2>] [--aid <app id hex>] [--fid <file id hex>] [--amode <plain/mac/encrypt>] [--rawrights <access rights hex>] [--rrights <key0/../key13/free/deny>] [--wrights <key0/../key13/free/deny>] [--rwrights <key0/../key13/free/deny>] [--chrights <key0/../key13/free/deny>] [--no-auth] [--lower <hex>] [--upper <hex>] [--value <hex>] [--lcredit <dec>]" "usage": "hf mfdes createvaluefile [-hav] [-n <keyno>] [-t <des/2tdea/3tdea/aes>] [-k <key>] [-f <none/an10922/gallagher>] [-i <kdfi>] [-m <plain/mac/encrypt>] [-c <native/niso/iso>] [-s <d40/ev1/ev2>] [--aid <app id hex>] [--fid <file id hex>] [--amode <plain/mac/encrypt>] [--rawrights <access rights hex>] [--rrights <key0/../key13/free/deny>] [--wrights <key0/../key13/free/deny>] [--rwrights <key0/../key13/free/deny>] [--chrights <key0/../key13/free/deny>] [--no-auth] [--lower <hex>] [--upper <hex>] [--value <hex>] [--lcredit <dec>]"
}, },
"hf mfdes default": {
"command": "hf mfdes default",
"description": "set default parameters for access to desfire card.",
"notes": [
"hf mfdes default -n 0 -t des -k 0000000000000000 -f none -> save to the default parameters"
],
"offline": false,
"options": [
"-h, --help this help",
"-n, --keyno <keyno> key number",
"-t, --algo <des/2tdea/3tdea/aes> crypt algo: des, 2tdea, 3tdea, aes",
"-k, --key <key> key for authenticate (hex 8(des), 16(2tdea or aes) or 24(3tdea) bytes)",
"-f, --kdf <none/an10922/gallagher> key derivation function (kdf): none, an10922, gallagher",
"-i, --kdfi <kdfi> kdf input (hex 1-31 bytes)",
"-m, --cmode <plain/mac/encrypt> communicaton mode: plain/mac/encrypt",
"-c, --ccset <native/niso/iso> communicaton command set: native/niso/iso",
"-s, --schann <d40/ev1/ev2> secure channel: d40/ev1/ev2"
],
"usage": "hf mfdes default [-h] [-n <keyno>] [-t <des/2tdea/3tdea/aes>] [-k <key>] [-f <none/an10922/gallagher>] [-i <kdfi>] [-m <plain/mac/encrypt>] [-c <native/niso/iso>] [-s <d40/ev1/ev2>]"
},
"hf mfdes deleteapp": { "hf mfdes deleteapp": {
"command": "hf mfdes deleteapp", "command": "hf mfdes deleteapp",
"description": "delete application by its 3-byte aid. master key needs to be provided.", "description": "delete application by its 3-byte aid. master key needs to be provided.",
@ -4414,18 +4440,6 @@
], ],
"usage": "hf mfdes dump [-hav] [-n <keyno>] [-t <des/2tdea/3tdea/aes>] [-k <key>] [-f <none/an10922/gallagher>] [-i <kdfi>] [-m <plain/mac/encrypt>] [-c <native/niso/iso>] [-s <d40/ev1/ev2>] [--aid <app id hex>] [--no-auth]" "usage": "hf mfdes dump [-hav] [-n <keyno>] [-t <des/2tdea/3tdea/aes>] [-k <key>] [-f <none/an10922/gallagher>] [-i <kdfi>] [-m <plain/mac/encrypt>] [-c <native/niso/iso>] [-s <d40/ev1/ev2>] [--aid <app id hex>] [--no-auth]"
}, },
"hf mfdes enum": {
"command": "hf mfdes enum",
"description": "enumerate all aid's on mifare desfire tag",
"notes": [
"hf mfdes enum"
],
"offline": false,
"options": [
"-h, --help this help"
],
"usage": "hf mfdes enum [-h]"
},
"hf mfdes formatpicc": { "hf mfdes formatpicc": {
"command": "hf mfdes formatpicc", "command": "hf mfdes formatpicc",
"description": "format card. can be done only if enabled in the configuration. master key needs to be provided.", "description": "format card. can be done only if enabled in the configuration. master key needs to be provided.",
@ -4669,31 +4683,11 @@
}, },
"hf mfdes help": { "hf mfdes help": {
"command": "hf mfdes help", "command": "hf mfdes help",
"description": "help this help list list desfire (iso 14443a) history test test crypto --------------------------------------------------------------------------------------- hf mfdes default available offline: no set default parameters for access to desfire card.", "description": "help this help list list desfire (iso 14443a) history test test crypto --------------------------------------------------------------------------------------- hf mfdes info available offline: no get info from mifare desfire tags",
"notes": [
"hf mfdes default -n 0 -t des -k 0000000000000000 -f none -> save to the default parameters"
],
"offline": true,
"options": [
"-h, --help this help",
"-n, --keyno <keyno> key number",
"-t, --algo <des/2tdea/3tdea/aes> crypt algo: des, 2tdea, 3tdea, aes",
"-k, --key <key> key for authenticate (hex 8(des), 16(2tdea or aes) or 24(3tdea) bytes)",
"-f, --kdf <none/an10922/gallagher> key derivation function (kdf): none, an10922, gallagher",
"-i, --kdfi <kdfi> kdf input (hex 1-31 bytes)",
"-m, --cmode <plain/mac/encrypt> communicaton mode: plain/mac/encrypt",
"-c, --ccset <native/niso/iso> communicaton command set: native/niso/iso",
"-s, --schann <d40/ev1/ev2> secure channel: d40/ev1/ev2"
],
"usage": "hf mfdes default [-h] [-n <keyno>] [-t <des/2tdea/3tdea/aes>] [-k <key>] [-f <none/an10922/gallagher>] [-i <kdfi>] [-m <plain/mac/encrypt>] [-c <native/niso/iso>] [-s <d40/ev1/ev2>]"
},
"hf mfdes info": {
"command": "hf mfdes info",
"description": "get info from mifare desfire tags",
"notes": [ "notes": [
"hf mfdes info" "hf mfdes info"
], ],
"offline": false, "offline": true,
"options": [ "options": [
"-h, --help this help" "-h, --help this help"
], ],
@ -4720,6 +4714,32 @@
], ],
"usage": "hf mfdes list [-h1fcrux] [--dict <file>]..." "usage": "hf mfdes list [-h1fcrux] [--dict <file>]..."
}, },
"hf mfdes lsapp": {
"command": "hf mfdes lsapp",
"description": "show application list. master key needs to be provided or flag --no-auth set (depend on cards settings).",
"notes": [
"hf mfdes lsapp -> show application list with defaults from `default` command",
"hf mfdes lsapp --files -> show application list and show each file type/settings/etc for each application"
],
"offline": false,
"options": [
"-h, --help this help",
"-a, --apdu show apdu requests and responses",
"-v, --verbose show technical data",
"-n, --keyno <keyno> key number",
"-t, --algo <des/2tdea/3tdea/aes> crypt algo: des, 2tdea, 3tdea, aes",
"-k, --key <key> key for authenticate (hex 8(des), 16(2tdea or aes) or 24(3tdea) bytes)",
"-f, --kdf <none/an10922/gallagher> key derivation function (kdf): none, an10922, gallagher",
"-i, --kdfi <kdfi> kdf input (hex 1-31 bytes)",
"-m, --cmode <plain/mac/encrypt> communicaton mode: plain/mac/encrypt",
"-c, --ccset <native/niso/iso> communicaton command set: native/niso/iso",
"-s, --schann <d40/ev1/ev2> secure channel: d40/ev1/ev2",
"--no-auth execute without authentication",
"--no-deep not to check authentication commands that avail for any application",
"--files scan files and print file settings for each application"
],
"usage": "hf mfdes lsapp [-hav] [-n <keyno>] [-t <des/2tdea/3tdea/aes>] [-k <key>] [-f <none/an10922/gallagher>] [-i <kdfi>] [-m <plain/mac/encrypt>] [-c <native/niso/iso>] [-s <d40/ev1/ev2>] [--no-auth] [--no-deep] [--files]"
},
"hf mfdes lsfiles": { "hf mfdes lsfiles": {
"command": "hf mfdes lsfiles", "command": "hf mfdes lsfiles",
"description": "show file list. master key needs to be provided or flag --no-auth set (depend on cards settings).", "description": "show file list. master key needs to be provided or flag --no-auth set (depend on cards settings).",
@ -4777,7 +4797,10 @@
"command": "hf mfdes selectapp", "command": "hf mfdes selectapp",
"description": "select application on the card. it selects app if it is a valid one or returns an error.", "description": "select application on the card. it selects app if it is a valid one or returns an error.",
"notes": [ "notes": [
"hf mfdes selectapp --aid 123456 -> select application 123456" "hf mfdes selectapp --aid 123456 -> select application 123456",
"hf mfdes selectapp --mf -> select master file (picc level)",
"hf mfdes selectapp --dfname aid123456 -> select application aid123456 by df name",
"hf mfdes selectapp --isoid 1111 -> select application 1111 by iso id"
], ],
"offline": false, "offline": false,
"options": [ "options": [
@ -4793,9 +4816,11 @@
"-c, --ccset <native/niso/iso> communicaton command set: native/niso/iso", "-c, --ccset <native/niso/iso> communicaton command set: native/niso/iso",
"-s, --schann <d40/ev1/ev2> secure channel: d40/ev1/ev2", "-s, --schann <d40/ev1/ev2> secure channel: d40/ev1/ev2",
"--aid <app id hex> application id of application for some parameters (3 hex bytes, big endian)", "--aid <app id hex> application id of application for some parameters (3 hex bytes, big endian)",
"--dfname <df name str> application df name (string, max 16 chars). selects application via iso select command" "--dfname <df name str> application df name (string, max 16 chars). selects application via iso select command",
"--isoid <isoid hex> application iso id (iso df id) (2 hex bytes, big endian)",
"--mf select mf (master file) via iso channel"
], ],
"usage": "hf mfdes selectapp [-hav] [-n <keyno>] [-t <des/2tdea/3tdea/aes>] [-k <key>] [-f <none/an10922/gallagher>] [-i <kdfi>] [-m <plain/mac/encrypt>] [-c <native/niso/iso>] [-s <d40/ev1/ev2>] [--aid <app id hex>] [--dfname <df name str>]" "usage": "hf mfdes selectapp [-hav] [-n <keyno>] [-t <des/2tdea/3tdea/aes>] [-k <key>] [-f <none/an10922/gallagher>] [-i <kdfi>] [-m <plain/mac/encrypt>] [-c <native/niso/iso>] [-s <d40/ev1/ev2>] [--aid <app id hex>] [--dfname <df name str>] [--isoid <isoid hex>] [--mf]"
}, },
"hf mfdes setconfig": { "hf mfdes setconfig": {
"command": "hf mfdes setconfig", "command": "hf mfdes setconfig",
@ -4825,7 +4850,7 @@
}, },
"hf mfdes test": { "hf mfdes test": {
"command": "hf mfdes test", "command": "hf mfdes test",
"description": "[=] ------ desfire tests ------ [!] no space for crc. pos: 1 [=] crc16............. passed [!] no space for crc. pos: 2 [=] crc32............. passed [=] cmac 3tdea........ passed [=] cmac 2tdea........ passed [=] cmac des.......... passed [=] ev2 session keys.. passed [=] ev2 iv calc....... passed [=] --------------------------- [+] tests [ ok ] ======================================================================================= hf seos { seos rfids... } --------------------------------------------------------------------------------------- hf seos help available offline: yes help this help list list seos history --------------------------------------------------------------------------------------- hf seos info available offline: no get info from seos tags", "description": "[=] ------ desfire tests ------ [!] no space for crc. pos: 1 [=] crc16............. passed [!] no space for crc. pos: 2 [=] crc32............. passed [=] cmac 3tdea........ passed [=] cmac 2tdea........ passed [=] cmac des.......... passed [=] ev2 session keys.. passed [=] ev2 iv calc....... passed [=] ev2 mac calc...... passed [=] --------------------------- [+] tests [ ok ] ======================================================================================= hf seos { seos rfids... } --------------------------------------------------------------------------------------- hf seos help available offline: yes help this help list list seos history --------------------------------------------------------------------------------------- hf seos info available offline: no get info from seos tags",
"notes": [ "notes": [
"hf seos info" "hf seos info"
], ],
@ -9839,6 +9864,6 @@
"metadata": { "metadata": {
"commands_extracted": 587, "commands_extracted": 587,
"extracted_by": "PM3Help2JSON v1.00", "extracted_by": "PM3Help2JSON v1.00",
"extracted_on": "2021-07-31T13:44:52" "extracted_on": "2021-08-04T12:46:55"
} }
} }

View file

@ -503,26 +503,26 @@ Check column "offline" for their availability.
|command |offline |description |command |offline |description
|------- |------- |----------- |------- |------- |-----------
|`hf mfdes help `|Y |`This help` |`hf mfdes help `|Y |`This help`
|`hf mfdes info `|N |`Tag information`
|`hf mfdes getuid `|N |`Get uid from card`
|`hf mfdes default `|N |`Set defaults for all the commands` |`hf mfdes default `|N |`Set defaults for all the commands`
|`hf mfdes auth `|N |`MIFARE DesFire Authentication` |`hf mfdes auth `|N |`MIFARE DesFire Authentication`
|`hf mfdes chk `|N |`[old]Check keys` |`hf mfdes chk `|N |`[old]Check keys`
|`hf mfdes enum `|N |`[old]Tries enumerate all applications`
|`hf mfdes formatpicc `|N |`Format PICC`
|`hf mfdes freemem `|N |`Get free memory size` |`hf mfdes freemem `|N |`Get free memory size`
|`hf mfdes getuid `|N |`Get uid from card`
|`hf mfdes setconfig `|N |`Set card configuration` |`hf mfdes setconfig `|N |`Set card configuration`
|`hf mfdes info `|N |`[old]Tag information` |`hf mfdes formatpicc `|N |`Format PICC`
|`hf mfdes list `|Y |`List DESFire (ISO 14443A) history` |`hf mfdes list `|Y |`List DESFire (ISO 14443A) history`
|`hf mfdes changekey `|N |`Change Key` |`hf mfdes lsapp `|N |`Show all applications with files list`
|`hf mfdes chkeysettings `|N |`Change Key Settings` |`hf mfdes getaids `|N |`Get Application IDs list`
|`hf mfdes getkeysettings`|N |`Get Key Settings` |`hf mfdes getappnames `|N |`Get Applications list`
|`hf mfdes getkeyversions`|N |`Get Key Versions`
|`hf mfdes bruteaid `|N |`Recover AIDs by bruteforce` |`hf mfdes bruteaid `|N |`Recover AIDs by bruteforce`
|`hf mfdes createapp `|N |`Create Application` |`hf mfdes createapp `|N |`Create Application`
|`hf mfdes deleteapp `|N |`Delete Application` |`hf mfdes deleteapp `|N |`Delete Application`
|`hf mfdes selectapp `|N |`Select Application ID` |`hf mfdes selectapp `|N |`Select Application ID`
|`hf mfdes getaids `|N |`Get Application IDs list` |`hf mfdes changekey `|N |`Change Key`
|`hf mfdes getappnames `|N |`Get Applications list` |`hf mfdes chkeysettings `|N |`Change Key Settings`
|`hf mfdes getkeysettings`|N |`Get Key Settings`
|`hf mfdes getkeyversions`|N |`Get Key Versions`
|`hf mfdes getfileids `|N |`Get File IDs list` |`hf mfdes getfileids `|N |`Get File IDs list`
|`hf mfdes getfileisoids `|N |`Get File ISO IDs list` |`hf mfdes getfileisoids `|N |`Get File ISO IDs list`
|`hf mfdes lsfiles `|N |`Show all files list` |`hf mfdes lsfiles `|N |`Show all files list`