From: iceman1001 Date: Sun, 24 May 2015 19:51:44 +0000 (+0200) Subject: FIX: hf mfu dump, now reads correct memory from device-side. X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/commitdiff_plain/7444d916c680c4a5b93306c21f008b3096ed66cc FIX: hf mfu dump, now reads correct memory from device-side. CHG: hf mfu dump - output data styled :) --- diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index 47c7fc12..7eb27abe 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -332,9 +332,10 @@ void MifareUReadCard(uint8_t arg0, uint16_t arg1, uint8_t arg2, uint8_t *datain) if (MF_DBGLEVEL >= MF_DBG_EXTENDED) Dbprintf("Blocks read %d", countblocks); countblocks *= 4; - cmd_send(CMD_ACK, 1, countblocks, countblocks, 0, 0); + cmd_send(CMD_ACK, 1, countblocks, BigBuf_max_traceLen(),0 , 0); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); + } //----------------------------------------------------------------------------- diff --git a/client/cmdhfmfu.c b/client/cmdhfmfu.c index e36e78cc..c02dff83 100644 --- a/client/cmdhfmfu.c +++ b/client/cmdhfmfu.c @@ -1273,12 +1273,13 @@ int CmdHF14AMfUDump(const char *Cmd){ return 1; } + uint32_t startindex = resp.arg[2]; uint32_t bufferSize = resp.arg[1]; if (bufferSize > sizeof(data)) { PrintAndLog("Data exceeded Buffer size!"); bufferSize = sizeof(data); } - GetFromBigBuf(data, bufferSize, 0); + GetFromBigBuf(data, bufferSize, startindex); WaitForResponse(CMD_ACK,NULL); Pages = bufferSize/4; @@ -1319,9 +1320,11 @@ int CmdHF14AMfUDump(const char *Cmd){ } } + PrintAndLog("Block# Data lck Ascii"); + PrintAndLog("----------------------------------"); for (i = 0; i < Pages; ++i) { if ( i < 3 ) { - PrintAndLog("Block %02x:%s ", i,sprint_hex(data + i * 4, 4)); + PrintAndLog("%02d/0x%02X | %s | |", i, i,sprint_hex(data + i * 4, 4)); continue; } switch(i){ @@ -1368,8 +1371,9 @@ int CmdHF14AMfUDump(const char *Cmd){ case 43: tmplockbit = bit2[9]; break; //auth1 default: break; } - PrintAndLog("Block %02X:%s [%d] {%.4s}", i, sprint_hex(data + i * 4, 4), tmplockbit, data+i*4); + PrintAndLog("%02d/0x%02X | %s |%d| %.4s",i , i, sprint_hex(data + i * 4, 4), tmplockbit, data+i*4); } + PrintAndLog("----------------------------------"); // user supplied filename? if (fileNlen < 1) {