FIX: hf mfu dump, now reads correct memory from device-side.

CHG: hf mfu dump - output data styled :)
This commit is contained in:
iceman1001 2015-05-24 21:51:44 +02:00
commit 7444d916c6
2 changed files with 9 additions and 4 deletions

View file

@ -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); if (MF_DBGLEVEL >= MF_DBG_EXTENDED) Dbprintf("Blocks read %d", countblocks);
countblocks *= 4; 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); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
LEDsoff(); LEDsoff();
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View file

@ -1273,12 +1273,13 @@ int CmdHF14AMfUDump(const char *Cmd){
return 1; return 1;
} }
uint32_t startindex = resp.arg[2];
uint32_t bufferSize = resp.arg[1]; uint32_t bufferSize = resp.arg[1];
if (bufferSize > sizeof(data)) { if (bufferSize > sizeof(data)) {
PrintAndLog("Data exceeded Buffer size!"); PrintAndLog("Data exceeded Buffer size!");
bufferSize = sizeof(data); bufferSize = sizeof(data);
} }
GetFromBigBuf(data, bufferSize, 0); GetFromBigBuf(data, bufferSize, startindex);
WaitForResponse(CMD_ACK,NULL); WaitForResponse(CMD_ACK,NULL);
Pages = bufferSize/4; Pages = bufferSize/4;
@ -1319,9 +1320,11 @@ int CmdHF14AMfUDump(const char *Cmd){
} }
} }
PrintAndLog("Block# Data lck Ascii");
PrintAndLog("----------------------------------");
for (i = 0; i < Pages; ++i) { for (i = 0; i < Pages; ++i) {
if ( i < 3 ) { 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; continue;
} }
switch(i){ switch(i){
@ -1368,8 +1371,9 @@ int CmdHF14AMfUDump(const char *Cmd){
case 43: tmplockbit = bit2[9]; break; //auth1 case 43: tmplockbit = bit2[9]; break; //auth1
default: break; 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? // user supplied filename?
if (fileNlen < 1) { if (fileNlen < 1) {