]> cvs.zerfleddert.de Git - proxmark3-svn/commitdiff
FIX: hf mfu dump, now reads correct memory from device-side.
authoriceman1001 <iceman@iuse.se>
Sun, 24 May 2015 19:51:44 +0000 (21:51 +0200)
committericeman1001 <iceman@iuse.se>
Sun, 24 May 2015 19:51:44 +0000 (21:51 +0200)
CHG: hf mfu dump - output data styled :)

armsrc/mifarecmd.c
client/cmdhfmfu.c

index 47c7fc127a4358b5f3c8df43c98e22b466570199..7eb27abe6657d0c76862b9deb9210b62813073af 100644 (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);\r
 \r
        countblocks *= 4;\r
-       cmd_send(CMD_ACK, 1, countblocks, countblocks, 0, 0);\r
+       cmd_send(CMD_ACK, 1, countblocks, BigBuf_max_traceLen(),0 , 0);\r
        FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
        LEDsoff();\r
+\r
 }\r
 \r
 //-----------------------------------------------------------------------------\r
index e36e78cc3e7deaa2153f3140f6afbd1cab094693..c02dff83d5aacc69baa414b634bcee1b3264f69e 100644 (file)
@@ -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) {
Impressum, Datenschutz