adapt hf mfu eview to take prefix header lenght in consideration

This commit is contained in:
iceman1001 2022-06-06 19:07:16 +02:00
commit ad64fdfeb7
2 changed files with 4 additions and 2 deletions

View file

@ -3890,6 +3890,7 @@ int CmdHF14AMfELoad(const char *Cmd) {
uint8_t block_width = 16; uint8_t block_width = 16;
uint16_t block_cnt = MIFARE_1K_MAXBLOCK; uint16_t block_cnt = MIFARE_1K_MAXBLOCK;
uint8_t hdr_len = 0;
if (m0) { if (m0) {
block_cnt = MIFARE_MINI_MAXBLOCK; block_cnt = MIFARE_MINI_MAXBLOCK;
@ -3902,6 +3903,7 @@ int CmdHF14AMfELoad(const char *Cmd) {
} else if (mu) { } else if (mu) {
block_cnt = MFU_MAX_BLOCKS; block_cnt = MFU_MAX_BLOCKS;
block_width = MFU_BLOCK_SIZE; block_width = MFU_BLOCK_SIZE;
hdr_len = MFU_DUMP_PREFIX_LENGTH;
} else { } else {
PrintAndLogEx(WARNING, "Please specify a MIFARE Type"); PrintAndLogEx(WARNING, "Please specify a MIFARE Type");
return PM3_EINVARG; return PM3_EINVARG;
@ -3916,7 +3918,7 @@ int CmdHF14AMfELoad(const char *Cmd) {
uint8_t *data = NULL; uint8_t *data = NULL;
size_t bytes_read = 0; size_t bytes_read = 0;
int res = pm3_load_dump(filename, (void **)&data, &bytes_read, (MFBLOCK_SIZE * MIFARE_4K_MAXBLOCK)); int res = pm3_load_dump(filename, (void **)&data, &bytes_read, (block_width * block_cnt + hdr_len));
if (res != PM3_SUCCESS) { if (res != PM3_SUCCESS) {
return res; return res;
} }

View file

@ -4106,7 +4106,7 @@ static int CmdHF14AMfuEView(const char *Cmd) {
CLIParserFree(ctx); CLIParserFree(ctx);
uint16_t blocks = MFU_MAX_BLOCKS; uint16_t blocks = MFU_MAX_BLOCKS;
uint16_t bytes = MFU_MAX_BYTES; uint16_t bytes = MFU_MAX_BYTES + MFU_DUMP_PREFIX_LENGTH;
uint8_t *dump = calloc(bytes, sizeof(uint8_t)); uint8_t *dump = calloc(bytes, sizeof(uint8_t));
if (dump == NULL) { if (dump == NULL) {