fix iso id byte order

This commit is contained in:
merlokk 2021-08-09 13:19:28 +03:00
commit 4e6a59f169
2 changed files with 3 additions and 4 deletions

View file

@ -2954,8 +2954,7 @@ static int CmdHF14ADesCreateApp(const char *Cmd) {
datalen = 5;
if (fileidpresent || (data[4] & 0x20) != 0) {
data[5] = fileid & 0xff;
data[6] = (fileid >> 8) & 0xff;
Uint2byteToMemBe(&data[5], fileid);
data[4] |= 0x20; // set bit FileID in the ks2
memcpy(&data[7], dfname, dfnamelen);
datalen = 7 + dfnamelen;
@ -2970,7 +2969,7 @@ static int CmdHF14ADesCreateApp(const char *Cmd) {
PrintAndLogEx(INFO, "Key Set 2 0x%02X", data[4]);
PrintAndLogEx(INFO, "ISO file ID %s", (data[4] & 0x20) ? "enabled" : "disabled");
if ((data[4] & 0x20)) {
PrintAndLogEx(INFO, "FID 0x%02x%02x", data[6], data[5]);
PrintAndLogEx(INFO, "FID 0x%04x", MemBeToUint2byte(&data[5]));
PrintAndLogEx(INFO, "DF Name[%02zu] %s\n", strnlen((char *)&data[7], 16), (char *)&data[7]);
}
PrintKeySettings(data[3], data[4], true, true);

View file

@ -2683,7 +2683,7 @@ int DesfireSelectEx(DesfireContext *ctx, bool fieldon, DesfireISOSelectWay way,
return DesfireSelectAIDHexNoFieldOn(ctx, id);
} else if (way == ISWIsoID) {
uint8_t data[2] = {0};
Uint2byteToMemBe(data, id);
Uint2byteToMemLe(data, id);
return DesfireISOSelectEx(ctx, fieldon, ISSMFDFEF, data, 2, resp, &resplen);
} else if (way == ISWDFName) {
return DesfireISOSelect(ctx, ISSMFDFEF, NULL, 0, resp, &resplen);