]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhf.c
Merge remote-tracking branch 'upstream/master'
[proxmark3-svn] / client / cmdhf.c
index 8853a7f3f3022f11c5ac773f53c9831d50268ba1..f8daff7e5ef106f20721ef1dfd53a706648da8f2 100644 (file)
@@ -85,7 +85,12 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize)
        case MIFARE_MAGICWIPEC:                 snprintf(exp,size,"MAGIC WIPEC"); break;
        case MIFARE_ULC_AUTH_1:         snprintf(exp,size,"AUTH "); break;
        case MIFARE_ULC_AUTH_2:         snprintf(exp,size,"AUTH_ANSW"); break;
-       case MIFARE_ULEV1_AUTH:         snprintf(exp,size,"PWD-AUTH"); break;
+       case MIFARE_ULEV1_AUTH:
+               if ( cmdsize == 7 )
+                       snprintf(exp,size,"PWD-AUTH KEY: 0x%02x%02x%02x%02x", cmd[1], cmd[2], cmd[3], cmd[4] );
+               else
+                       snprintf(exp,size,"PWD-AUTH");
+               break;
        case MIFARE_ULEV1_FASTREAD:{
                if ( cmdsize >=3 && cmd[2] <= 0xE6)
                        snprintf(exp,size,"READ RANGE (%d-%d)",cmd[1],cmd[2]); 
@@ -373,7 +378,7 @@ uint16_t printTraceLine(uint16_t tracepos, uint16_t traceLen, uint8_t *trace, ui
                        oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01);
                }
                uint8_t parityBits = parityBytes[j>>3];
-               if (isResponse && (oddparity != ((parityBits >> (7-(j&0x0007))) & 0x01))) {
+               if (protocol != ISO_14443B && (isResponse || protocol == ISO_14443A) && (oddparity != ((parityBits >> (7-(j&0x0007))) & 0x01))) {
                        snprintf(line[j/16]+(( j % 16) * 4),110, "%02x! ", frame[j]);
 
                } else {
@@ -551,7 +556,12 @@ int CmdHFSearch(const char *Cmd){
        if (ans > 0) {
                PrintAndLog("\nValid ISO14443A Tag Found - Quiting Search\n");
                return ans;
-       } 
+       }
+       ans = HF14BInfo(false);
+       if (ans) {
+               PrintAndLog("\nValid ISO14443B Tag Found - Quiting Search\n");
+               return ans;
+       }
        ans = HFiClassReader("", false, false);
        if (ans) {
                PrintAndLog("\nValid iClass Tag (or PicoPass Tag) Found - Quiting Search\n");
@@ -562,12 +572,7 @@ int CmdHFSearch(const char *Cmd){
                PrintAndLog("\nValid ISO15693 Tag Found - Quiting Search\n");
                return ans;
        }
-
-
-       //14b has issues currently...
-       //ans = CmdHF14BRead(Cmd);
-       //if (ans > 0) return ans;
-
+       PrintAndLog("\nno known/supported 13.56 MHz tags found\n");
        return 0;
 }
 
Impressum, Datenschutz