X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/e67b06b7067c55f12bbdf72c5f9f00dec11e99fd..12401d8dbc7639009d90e3a5c8933cbedc2816dc:/client/cmdlfem4x.c?ds=inline

diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c
index 862f20bd..a7312d21 100644
--- a/client/cmdlfem4x.c
+++ b/client/cmdlfem4x.c
@@ -35,6 +35,7 @@ int CmdEM410xRead(const char *Cmd)
   int i, j, clock, header, rows, bit, hithigh, hitlow, first, bit2idx, high, low;
   int parity[4];
   char id[11];
+  char id2[11];
   int retested = 0;
   uint8_t BitStream[MAX_GRAPH_TRACE_LEN];
   high = low = 0;
@@ -101,6 +102,7 @@ retest:
       {
         /* Read another byte! */
         sprintf(id+rows, "%x", (8 * BitStream[i]) + (4 * BitStream[i+1]) + (2 * BitStream[i+2]) + (1 * BitStream[i+3]));
+        sprintf(id2+rows, "%x", (8 * BitStream[i+3]) + (4 * BitStream[i+2]) + (2 * BitStream[i+1]) + (1 * BitStream[i]));
         rows++;
 
         /* Keep parity info */
@@ -135,6 +137,7 @@ retest:
       {
         /* Sweet! */
         PrintAndLog("EM410x Tag ID: %s", id);
+        PrintAndLog("Unique Tag ID: %s", id2);
 
         /* Stop any loops */
         return 1;
@@ -257,8 +260,11 @@ int CmdEM410xWatch(const char *Cmd)
 		//   is very slow
 		// TBD: Auto-grow sample size based on detected sample rate.  IE: If the
 		//   rate gets lower, then grow the number of samples
-		CmdSamples("4000");
-  } while ( ! CmdEM410xRead(""));
+
+    // Changed by martin, 4000 x 4 = 16000, 
+    // see http://www.proxmark.org/forum/viewtopic.php?pid=7235#p7235
+		CmdSamples("16000");
+ } while ( ! CmdEM410xRead(""));
   return 0;
 }
 
@@ -409,7 +415,7 @@ int CmdEM4x50Read(const char *Cmd)
 int CmdEM410xWrite(const char *Cmd)
 {
   uint64_t id = 0xFFFFFFFFFFFFFFFF; // invalid id value
-  unsigned int card = 0xFF; // invalid card value
+  int card = 0xFF; // invalid card value
 	unsigned int clock = 0; // invalid clock value
 
 	sscanf(Cmd, "%" PRIx64 " %d %d", &id, &card, &clock);