]> cvs.zerfleddert.de Git - proxmark3-svn/commitdiff
Moved LogTraceHitag to BigBuf (no changes to the function ... yet)
authorMartin Holst Swende <martin@swende.se>
Sat, 7 Feb 2015 19:55:17 +0000 (20:55 +0100)
committerMartin Holst Swende <martin@swende.se>
Sat, 7 Feb 2015 19:55:17 +0000 (20:55 +0100)
armsrc/BigBuf.c
armsrc/BigBuf.h
armsrc/hitag2.c

index 1b5e54823709771888848f1b59cb4b25a96f8a45..18db66f3b2d3e0d90505c95ab40d4c728b65efa6 100644 (file)
@@ -183,3 +183,29 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_
 
        return TRUE;
 }
 
        return TRUE;
 }
+int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader)
+{
+       static uint16_t traceLen = 0;
+       uint8_t *trace = BigBuf_get_addr();
+
+       // Return when trace is full
+       if (traceLen + sizeof(rsamples) + sizeof(dwParity) + sizeof(iBits) + nbytes(iBits) > BigBuf_max_traceLen()) return FALSE;
+
+       // Trace the random, i'm curious
+       rsamples += iSamples;
+       trace[traceLen++] = ((rsamples >> 0) & 0xff);
+       trace[traceLen++] = ((rsamples >> 8) & 0xff);
+       trace[traceLen++] = ((rsamples >> 16) & 0xff);
+       trace[traceLen++] = ((rsamples >> 24) & 0xff);
+       if (!bReader) {
+       trace[traceLen - 1] |= 0x80;
+       }
+       trace[traceLen++] = ((dwParity >> 0) & 0xff);
+       trace[traceLen++] = ((dwParity >> 8) & 0xff);
+       trace[traceLen++] = ((dwParity >> 16) & 0xff);
+       trace[traceLen++] = ((dwParity >> 24) & 0xff);
+       trace[traceLen++] = iBits;
+       memcpy(trace + traceLen, btBytes, nbytes(iBits));
+       traceLen += nbytes(iBits);
+       return TRUE;
+}
index 5cca1000fe4da40a68b34cb6f611997fd0448195..be558979ad4bd719eb1cc2c6548fa049b4cd9160 100644 (file)
@@ -33,5 +33,5 @@ uint16_t BigBuf_get_traceLen(void);
 void clear_trace();
 void set_tracing(bool enable);
 bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_start, uint32_t timestamp_end, uint8_t *parity, bool readerToTag);
 void clear_trace();
 void set_tracing(bool enable);
 bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_start, uint32_t timestamp_end, uint8_t *parity, bool readerToTag);
-
+int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader);
 #endif /* __BIGBUF_H */
 #endif /* __BIGBUF_H */
index 7ca79930549ef0b91a20ea4939df662647a316bd..4b173d6f223845620eeb47e96e35c89ffb78f628 100644 (file)
@@ -21,6 +21,7 @@
 #include "util.h"
 #include "hitag2.h"
 #include "string.h"
 #include "util.h"
 #include "hitag2.h"
 #include "string.h"
+#include "BigBuf.h"
 
 static bool bQuiet;
 
 
 static bool bQuiet;
 
@@ -30,32 +31,6 @@ static bool bPwd;
 static bool bSuccessful;
 
 
 static bool bSuccessful;
 
 
-static int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader)
-{
-  static uint16_t traceLen = 0;
-  uint8_t *trace = BigBuf_get_addr();
-
-  // Return when trace is full
-  if (traceLen + sizeof(rsamples) + sizeof(dwParity) + sizeof(iBits) + nbytes(iBits) > BigBuf_max_traceLen()) return FALSE;
-  
-  // Trace the random, i'm curious
-  rsamples += iSamples;
-  trace[traceLen++] = ((rsamples >> 0) & 0xff);
-  trace[traceLen++] = ((rsamples >> 8) & 0xff);
-  trace[traceLen++] = ((rsamples >> 16) & 0xff);
-  trace[traceLen++] = ((rsamples >> 24) & 0xff);
-  if (!bReader) {
-    trace[traceLen - 1] |= 0x80;
-  }
-  trace[traceLen++] = ((dwParity >> 0) & 0xff);
-  trace[traceLen++] = ((dwParity >> 8) & 0xff);
-  trace[traceLen++] = ((dwParity >> 16) & 0xff);
-  trace[traceLen++] = ((dwParity >> 24) & 0xff);
-  trace[traceLen++] = iBits;
-  memcpy(trace + traceLen, btBytes, nbytes(iBits));
-  traceLen += nbytes(iBits);
-  return TRUE;
-}
 
 struct hitag2_tag {
        uint32_t uid;
 
 struct hitag2_tag {
        uint32_t uid;
Impressum, Datenschutz