]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhfepa.c
fix 'hf 15 csetuid' (#890)
[proxmark3-svn] / client / cmdhfepa.c
index e9c63f20b02f7f88fae741f4e24780a763bff910..76664bf59616468ba55c832dae8da24e6ba5e2e6 100644 (file)
@@ -8,15 +8,20 @@
 // Commands related to the German electronic Identification Card
 //-----------------------------------------------------------------------------
 
 // Commands related to the German electronic Identification Card
 //-----------------------------------------------------------------------------
 
-#include "util.h"
+#include "cmdhfepa.h"
 
 
-#include "proxmark3.h"
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdio.h>
+#include "util.h"
+#include "util_posix.h"
+#include "comms.h"
 #include "ui.h"
 #include "cmdparser.h"
 #include "common.h"
 #include "cmdmain.h"
 #include "ui.h"
 #include "cmdparser.h"
 #include "common.h"
 #include "cmdmain.h"
-#include "sleep.h"
-#include "cmdhfepa.h"
 
 static int CmdHelp(const char *Cmd);
 
 
 static int CmdHelp(const char *Cmd);
 
@@ -36,8 +41,8 @@ int CmdHFEPACollectPACENonces(const char *Cmd)
        m = m > 0 ? m : 1;
        n = n > 0 ? n : 1;
 
        m = m > 0 ? m : 1;
        n = n > 0 ? n : 1;
 
-       PrintAndLog("Collecting %u %"hhu"-byte nonces", n, m);
-       PrintAndLog("Start: %u", time(NULL));
+       PrintAndLog("Collecting %u %u-byte nonces", n, m);
+       PrintAndLog("Start: %" PRIu64 , msclock()/1000);
        // repeat n times
        for (unsigned int i = 0; i < n; i++) {
                // execute PACE
        // repeat n times
        for (unsigned int i = 0; i < n; i++) {
                // execute PACE
@@ -58,12 +63,13 @@ int CmdHFEPACollectPACENonces(const char *Cmd)
                        }
                        // print nonce
                        PrintAndLog("Length: %d, Nonce: %s", nonce_length, nonce);
                        }
                        // print nonce
                        PrintAndLog("Length: %d, Nonce: %s", nonce_length, nonce);
+                       free(nonce);
                }
                if (i < n - 1) {
                        sleep(d);
                }
        }
                }
                if (i < n - 1) {
                        sleep(d);
                }
        }
-       PrintAndLog("End: %u", time(NULL));
+       PrintAndLog("End: %" PRIu64, msclock()/1000);
 
        return 1;
 }
 
        return 1;
 }
@@ -81,7 +87,7 @@ int CmdHFEPAPACEReplay(const char *Cmd)
        uint8_t *apdus[] = {msesa_apdu, gn_apdu, map_apdu, pka_apdu, ma_apdu};
 
        // usage message
        uint8_t *apdus[] = {msesa_apdu, gn_apdu, map_apdu, pka_apdu, ma_apdu};
 
        // usage message
-       static const char const *usage_msg =
+       static const char *usage_msg =
                "Please specify 5 APDUs separated by spaces. "
                "Example:\n preplay 0022C1A4 1068000000 1086000002 1234ABCDEF 1A2B3C4D";
 
                "Please specify 5 APDUs separated by spaces. "
                "Example:\n preplay 0022C1A4 1068000000 1086000002 1234ABCDEF 1A2B3C4D";
 
@@ -196,10 +202,7 @@ int CmdHelp(const char *Cmd)
 
 int CmdHFEPA(const char *Cmd)
 {
 
 int CmdHFEPA(const char *Cmd)
 {
-       // flush
-       WaitForResponseTimeout(CMD_ACK,NULL,100);
-
-       // parse
-  CmdsParse(CommandTable, Cmd);
-  return 0;
+       (void)WaitForResponseTimeout(CMD_ACK,NULL,100);
+       CmdsParse(CommandTable, Cmd);
+       return 0;
 }
 }
Impressum, Datenschutz