]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
Allow user to specify a delay
authorfrederikmoellers@aol.de <frederikmoellers@aol.de@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Tue, 28 Aug 2012 22:45:34 +0000 (22:45 +0000)
committerfrederikmoellers@aol.de <frederikmoellers@aol.de@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Tue, 28 Aug 2012 22:45:34 +0000 (22:45 +0000)
The user may specify a delay between PACE nonce requests. Using no delay between subsequent issues of the USB command may lead to errors in the USB communication.
Until test results show that the delay can be fixed or left out completely the user has to test what value is safe to use.

This fixes errors "Read only 40 instead of requested 64 bytes!" (if the correct delay is used, e.g. 3 seconds for 16 byte nonces).

client/cmdhfepa.c

index 5fcd17141578f2a928f31ebe65884424bbc0bbf1..2787b9695745bf94b491186390eb65d04b30077b 100644 (file)
@@ -26,8 +26,10 @@ int CmdHFEPACollectPACENonces(const char *Cmd)
        uint8_t m = 0;
        // requested number of Nonces
        unsigned int n = 0;
        uint8_t m = 0;
        // requested number of Nonces
        unsigned int n = 0;
+       // delay between requests
+       unsigned int d = 0;
        
        
-       sscanf(Cmd, "%hhu %u", &m, &n);
+       sscanf(Cmd, "%hhu %u %u", &m, &n, &d);
        
        // values are expected to be > 0
        m = m > 0 ? m : 1;
        
        // values are expected to be > 0
        m = m > 0 ? m : 1;
@@ -57,6 +59,9 @@ int CmdHFEPACollectPACENonces(const char *Cmd)
                        PrintAndLog("Length: %d, Nonce: %s",
                                    resp->arg[1], nonce);
                }
                        PrintAndLog("Length: %d, Nonce: %s",
                                    resp->arg[1], nonce);
                }
+               if (i < n - 1) {
+                       sleep(d);
+               }
        }
        PrintAndLog("End: %u", time(NULL));
 
        }
        PrintAndLog("End: %u", time(NULL));
 
@@ -68,7 +73,8 @@ int CmdHFEPACollectPACENonces(const char *Cmd)
 static const command_t CommandTable[] = 
 {
   {"help",    CmdHelp,                   1, "This help"},
 static const command_t CommandTable[] = 
 {
   {"help",    CmdHelp,                   1, "This help"},
-  {"cnonces", CmdHFEPACollectPACENonces, 0, "<m> <n> Acquire n>0 encrypted PACE nonces of size m>0"},
+  {"cnonces", CmdHFEPACollectPACENonces, 0,
+              "<m> <n> <d> Acquire n>0 encrypted PACE nonces of size m>0 with d sec pauses"},
   {NULL, NULL, 0, NULL}
 };
 
   {NULL, NULL, 0, NULL}
 };
 
Impressum, Datenschutz