]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhficlass.c
FIXED: Merged all Holimans code-review issues which should fix a lot of memoryleaks.
[proxmark3-svn] / client / cmdhficlass.c
index e32664f5c7a2117c916bb538b906b7c43c54d3f2..47ff2db0f226494888246eef619273e805cda741 100644 (file)
@@ -97,7 +97,7 @@ int CmdHFiClassList(const char *Cmd)
                        first_timestamp = timestamp;
                }
 
-               // Break and stick with current result if buffer was not completely full
+        // Break and stick with current result idf buffer was not completely full
                if (frame[0] == 0x44 && frame[1] == 0x44 && frame[2] == 0x44 && frame[3] == 0x44) break;
 
                char line[1000] = "";
@@ -437,7 +437,7 @@ int CmdHFiClassReader_Replay(const char *Cmd)
     PrintAndLog("Usage:  hf iclass replay <MAC>");
     PrintAndLog("        sample: hf iclass replay 00112233");
        return 0;
-  }    
+  }
 
   if (param_gethex(Cmd, 0, MAC, 8)) {
     PrintAndLog("MAC must include 8 HEX symbols");
@@ -477,11 +477,12 @@ int CmdHFiClassReader_Dump(const char *Cmd)
     return 0;
   }
 
-  if (param_gethex(Cmd, 0, KEY, 16)) {
+  if (param_gethex(Cmd, 0, KEY, 16)) 
+  {
     PrintAndLog("KEY must include 16 HEX symbols");
     return 1;
   }
-  
+
   if (param_getchar(Cmd, 1) == 'e')
   {
     PrintAndLog("Elite switch on");
@@ -500,7 +501,9 @@ int CmdHFiClassReader_Dump(const char *Cmd)
   SendCommand(&c);
   
   UsbCommand resp;
-
+  uint8_t key_sel[8] = {0x00};
+  uint8_t key_sel_p[8] = {0x00};
+                               
   if (WaitForResponseTimeout(CMD_ACK,&resp,4500)) {
         uint8_t isOK    = resp.arg[0] & 0xff;
         uint8_t * data  = resp.d.asBytes;
@@ -518,8 +521,7 @@ 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};
 
@@ -593,7 +595,7 @@ int CmdHFiClass_iso14443A_write(const char *Cmd)
   if (blockNo>32)
   {
         PrintAndLog("Error: Maximum number of blocks is 32 for iClass 2K Cards!");
-    return 1;
+        return 1;
   }
   if (param_gethex(Cmd, 2, bldata, 8)) 
   {
@@ -649,7 +651,10 @@ static command_t CommandTable[] =
   {"list",    CmdHFiClassList,   0, "List iClass history"},
   {"snoop",   CmdHFiClassSnoop,  0, "Eavesdrop iClass communication"},
   {"sim",     CmdHFiClassSim,    0, "Simulate iClass tag"},
-  {"reader",  CmdHFiClassReader, 0, "Read an iClass tag"},
+  {"reader",CmdHFiClassReader, 0,      "Read an iClass tag"},
+  {"replay",CmdHFiClassReader_Replay,  0,      "Read an iClass tag via Reply Attack"},
+  {"dump",     CmdHFiClassReader_Dump, 0,              "Authenticate and Dump iClass tag"},
+  {"write",    CmdHFiClass_iso14443A_write,    0,      "Authenticate and Write iClass block"},
   {"replay",  CmdHFiClassReader_Replay, 0, "Read an iClass tag via Reply Attack"},
   {"dump",       CmdHFiClassReader_Dump, 0, "Authenticate and Dump iClass tag"},
   {"write",    CmdHFiClass_iso14443A_write,    0,      "Authenticate and Write iClass block"},
Impressum, Datenschutz