]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhficlass.c
Merge pull request #23 from holiman/master
[proxmark3-svn] / client / cmdhficlass.c
index 0650eef9b20525b844fba93fb38872f20ec0a75b..d9af90441f16951783d09e40663e5608043036dc 100644 (file)
@@ -491,6 +491,7 @@ int CmdHFiClassReader_Dump(const char *Cmd)
 
     //calc h2
     hash2(KEY, keytable);
+    printarr_human_readable("keytable", keytable, 128);
 
   }
 
@@ -501,6 +502,8 @@ int CmdHFiClassReader_Dump(const char *Cmd)
   SendCommand(&c);
   
   UsbCommand resp;
+  uint8_t key_sel[8] = {0};
+  uint8_t key_sel_p[8] = { 0 };
 
   if (WaitForResponseTimeout(CMD_ACK,&resp,4500)) {
         uint8_t isOK    = resp.arg[0] & 0xff;
@@ -519,8 +522,6 @@ int CmdHFiClassReader_Dump(const char *Cmd)
         {
             if(elite)
             {
-                uint8_t key_sel[8] = {0};
-                uint8_t key_sel_p[8] = { 0 };
                 //Get the key index (hash1)
                 uint8_t key_index[8] = {0};
 
@@ -533,13 +534,21 @@ int CmdHFiClassReader_Dump(const char *Cmd)
                 permutekey_rev(key_sel,key_sel_p);
                 used_key = key_sel_p;
             }else{
+                //Perhaps this should also be permuted to std format?
+                // Something like the code below? I have no std system
+                // to test this with /Martin
+
+                //uint8_t key_sel_p[8] = { 0 };
+                //permutekey_rev(KEY,key_sel_p);
+                //used_key = key_sel_p;
+
                 used_key = KEY;
 
             }
-            printvar("CC:",CCNR,8);
             printvar("Used key",used_key,8);
             diversifyKey(CSN,used_key, div_key);
             printvar("Div key", div_key, 8);
+            printvar("CC_NR:",CCNR,12);
             doMAC(CCNR,12,div_key, MAC);
             printvar("MAC", MAC, 4);
 
Impressum, Datenschutz