]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhfmfu.c
Merge pull request #221 from jamchamb/clean-mfu-dump
[proxmark3-svn] / client / cmdhfmfu.c
index 25a073d34440b2de98b3c56d67597dbc2df14111..b7cf0fcd6a00e5bec876a00a932839a1e711f124 100644 (file)
@@ -7,6 +7,7 @@
 //-----------------------------------------------------------------------------
 // High frequency MIFARE ULTRALIGHT (C) commands
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 // High frequency MIFARE ULTRALIGHT (C) commands
 //-----------------------------------------------------------------------------
+#include <ctype.h>
 #include "loclass/des.h"
 #include "cmdhfmfu.h"
 #include "cmdhfmf.h"
 #include "loclass/des.h"
 #include "cmdhfmfu.h"
 #include "cmdhfmf.h"
@@ -1230,6 +1231,7 @@ int CmdHF14AMfUDump(const char *Cmd){
        bool manualPages = false;
        uint8_t startPage = 0;
        char tempStr[50];
        bool manualPages = false;
        uint8_t startPage = 0;
        char tempStr[50];
+       unsigned char cleanASCII[4];
 
        while(param_getchar(Cmd, cmdp) != 0x00)
        {
 
        while(param_getchar(Cmd, cmdp) != 0x00)
        {
@@ -1372,7 +1374,7 @@ int CmdHF14AMfUDump(const char *Cmd){
        PrintAndLog("---------------------------------");
        for (i = 0; i < Pages; ++i) {
                if ( i < 3 ) {
        PrintAndLog("---------------------------------");
        for (i = 0; i < Pages; ++i) {
                if ( i < 3 ) {
-                       PrintAndLog("%02d/0x%02X | %s|   | ", i+startPage, i+startPage, sprint_hex(data + i * 4, 4));
+                       PrintAndLog("%3d/0x%02X | %s|   | ", i+startPage, i+startPage, sprint_hex(data + i * 4, 4));
                        continue;
                }
                switch(i){
                        continue;
                }
                switch(i){
@@ -1419,7 +1421,12 @@ int CmdHF14AMfUDump(const char *Cmd){
                        case 43: tmplockbit = bit2[9]; break;  //auth1
                        default: break;
                }
                        case 43: tmplockbit = bit2[9]; break;  //auth1
                        default: break;
                }
-               PrintAndLog("%02d/0x%02X | %s| %d | %.4s", i+startPage, i+startPage, sprint_hex(data + i * 4, 4), tmplockbit, data+i*4);
+
+               // convert unprintable characters and line breaks to dots
+               memcpy(cleanASCII, data+i*4, 4);
+               clean_ascii(cleanASCII, 4);
+
+               PrintAndLog("%3d/0x%02X | %s| %d | %.4s", i+startPage, i+startPage, sprint_hex(data + i * 4, 4), tmplockbit, cleanASCII);
        }
        PrintAndLog("---------------------------------");
 
        }
        PrintAndLog("---------------------------------");
 
Impressum, Datenschutz