mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 21:33:47 -07:00
le24toh is uint32_t
This commit is contained in:
parent
c87afd0b7d
commit
b770cfd51c
3 changed files with 14 additions and 12 deletions
|
@ -1482,8 +1482,8 @@ static int handler_desfire_writedata(mfdes_data_t *data, MFDES_FILE_TYPE_T type)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (data->fileno > 0x1F) return PM3_EINVARG;
|
if (data->fileno > 0x1F) return PM3_EINVARG;
|
||||||
int datatowrite = le24toh(data->length);
|
uint32_t datatowrite = le24toh(data->length);
|
||||||
int offset = le24toh(data->offset);
|
uint32_t offset = le24toh(data->offset);
|
||||||
int datasize;
|
int datasize;
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
int recvlen = 0;
|
int recvlen = 0;
|
||||||
|
@ -1496,7 +1496,8 @@ static int handler_desfire_writedata(mfdes_data_t *data, MFDES_FILE_TYPE_T type)
|
||||||
apdu.data = tmp;
|
apdu.data = tmp;
|
||||||
if (type == MFDES_RECORD_FILE) apdu.INS = MFDES_WRITE_RECORD;
|
if (type == MFDES_RECORD_FILE) apdu.INS = MFDES_WRITE_RECORD;
|
||||||
|
|
||||||
while (datatowrite > 0) {
|
while (datatowrite) {
|
||||||
|
|
||||||
if (datatowrite > 52)
|
if (datatowrite > 52)
|
||||||
datasize = 52;
|
datasize = 52;
|
||||||
else
|
else
|
||||||
|
@ -2319,7 +2320,8 @@ static int CmdHF14ADesReadData(const char *Cmd) {
|
||||||
memcpy(ft.length, filesize, 3);
|
memcpy(ft.length, filesize, 3);
|
||||||
ft.fileno = _fileno[0];
|
ft.fileno = _fileno[0];
|
||||||
|
|
||||||
int bytestoread = le24toh(filesize);
|
uint32_t bytestoread = le24toh(filesize);
|
||||||
|
bytestoread &= 0xFFFFFF;
|
||||||
|
|
||||||
if (bytestoread == 0)
|
if (bytestoread == 0)
|
||||||
bytestoread = 0xFFFFFF;
|
bytestoread = 0xFFFFFF;
|
||||||
|
@ -2332,8 +2334,8 @@ static int CmdHF14ADesReadData(const char *Cmd) {
|
||||||
PrintAndLogEx(SUCCESS, "Successfully read data from file %d:", ft.fileno);
|
PrintAndLogEx(SUCCESS, "Successfully read data from file %d:", ft.fileno);
|
||||||
PrintAndLogEx(NORMAL, "\nOffset | Data | Ascii");
|
PrintAndLogEx(NORMAL, "\nOffset | Data | Ascii");
|
||||||
PrintAndLogEx(NORMAL, "----------------------------------------------------------------------------");
|
PrintAndLogEx(NORMAL, "----------------------------------------------------------------------------");
|
||||||
int len = le24toh(ft.length);
|
uint32_t len = le24toh(ft.length);
|
||||||
for (int i = 0; i < len; i += 16) {
|
for (uint32_t i = 0; i < len; i += 16) {
|
||||||
PrintAndLogEx(NORMAL, "%02d/0x%02X | %s| %s", i, i, sprint_hex(&ft.data[i], len > 16 ? 16 : len), sprint_ascii(&ft.data[i], len > 16 ? 16 : len));
|
PrintAndLogEx(NORMAL, "%02d/0x%02X | %s| %s", i, i, sprint_hex(&ft.data[i], len > 16 ? 16 : len), sprint_ascii(&ft.data[i], len > 16 ? 16 : len));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -3246,8 +3248,8 @@ static int CmdHF14ADesDump(const char *Cmd) {
|
||||||
if (res == PM3_SUCCESS) {
|
if (res == PM3_SUCCESS) {
|
||||||
PrintAndLogEx(NORMAL, "\nOffset | Data | Ascii");
|
PrintAndLogEx(NORMAL, "\nOffset | Data | Ascii");
|
||||||
PrintAndLogEx(NORMAL, "----------------------------------------------------------------------------");
|
PrintAndLogEx(NORMAL, "----------------------------------------------------------------------------");
|
||||||
int len = le24toh(fdata.length);
|
uint32_t len = le24toh(fdata.length);
|
||||||
for (int n = 0; n < len; n += 16) {
|
for (uint32_t n = 0; n < len; n += 16) {
|
||||||
PrintAndLogEx(NORMAL, "%02d/0x%02X | %s| %s", n, n, sprint_hex(&fdata.data[n], len > 16 ? 16 : len), sprint_ascii(&fdata.data[n], len > 16 ? 16 : len));
|
PrintAndLogEx(NORMAL, "%02d/0x%02X | %s| %s", n, n, sprint_hex(&fdata.data[n], len > 16 ? 16 : len), sprint_ascii(&fdata.data[n], len > 16 ? 16 : len));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -3299,8 +3301,8 @@ static int CmdHF14ADesDump(const char *Cmd) {
|
||||||
if (res == PM3_SUCCESS) {
|
if (res == PM3_SUCCESS) {
|
||||||
PrintAndLogEx(NORMAL, "\nOffset | Data | Ascii");
|
PrintAndLogEx(NORMAL, "\nOffset | Data | Ascii");
|
||||||
PrintAndLogEx(NORMAL, "----------------------------------------------------------------------------");
|
PrintAndLogEx(NORMAL, "----------------------------------------------------------------------------");
|
||||||
int len = le24toh(fdata.length);
|
uint32_t len = le24toh(fdata.length);
|
||||||
for (int n = 0; n < len; n += 16) {
|
for (uint32_t n = 0; n < len; n += 16) {
|
||||||
PrintAndLogEx(NORMAL, "%02d/0x%02X | %s| %s", n, n, sprint_hex(&fdata.data[n], len > 16 ? 16 : len), sprint_ascii(&fdata.data[n], len > 16 ? 16 : len));
|
PrintAndLogEx(NORMAL, "%02d/0x%02X | %s| %s", n, n, sprint_hex(&fdata.data[n], len > 16 ? 16 : len), sprint_ascii(&fdata.data[n], len > 16 ? 16 : len));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -83,7 +83,7 @@ void lsl(uint8_t *data, size_t len) {
|
||||||
data[len - 1] <<= 1;
|
data[len - 1] <<= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t le24toh(uint8_t data[3]) {
|
uint32_t le24toh(uint8_t data[3]) {
|
||||||
return (data[2] << 16) | (data[1] << 8) | data[0];
|
return (data[2] << 16) | (data[1] << 8) | data[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ uint64_t bytes_to_num(uint8_t *src, size_t len);
|
||||||
|
|
||||||
void rol(uint8_t *data, const size_t len);
|
void rol(uint8_t *data, const size_t len);
|
||||||
void lsl(uint8_t *data, size_t len);
|
void lsl(uint8_t *data, size_t len);
|
||||||
int32_t le24toh(uint8_t data[3]);
|
uint32_t le24toh(uint8_t data[3]);
|
||||||
void htole24(uint32_t val, uint8_t data[3]);
|
void htole24(uint32_t val, uint8_t data[3]);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue