X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/52ab55ab0da1a34f4ce62d2f730e39ac099d0555..0c29544f640b8e8c03005b10229526a2d57e5954:/armsrc/mifaresniff.c?ds=inline

diff --git a/armsrc/mifaresniff.c b/armsrc/mifaresniff.c
index 910ea74d..7f94b0fe 100644
--- a/armsrc/mifaresniff.c
+++ b/armsrc/mifaresniff.c
@@ -10,14 +10,22 @@
 
 #include "mifaresniff.h"
 #include "apps.h"
+#include "proxmark3.h"
+#include "util.h"
+#include "string.h"
+#include "iso14443crc.h"
+#include "iso14443a.h"
+#include "crapto1/crapto1.h"
+#include "mifareutil.h"
+#include "common.h"
 
 
 static int sniffState = SNF_INIT;
 static uint8_t sniffUIDType;
-static uint8_t sniffUID[8];
-static uint8_t sniffATQA[2];
+static uint8_t sniffUID[8] = {0x00};
+static uint8_t sniffATQA[2] = {0x00};
 static uint8_t sniffSAK;
-static uint8_t sniffBuf[16];
+static uint8_t sniffBuf[16] = {0x00};
 static uint32_t timerData = 0;
 
 
@@ -140,7 +148,7 @@ bool RAMFUNC MfSniffLogic(const uint8_t *data, uint16_t len, uint8_t *parity, ui
 }
 
 bool RAMFUNC MfSniffSend(uint16_t maxTimeoutMs) {
-	if (traceLen && (GetTickCount() > timerData + maxTimeoutMs)) {
+	if (BigBuf_get_traceLen() && (GetTickCount() > timerData + maxTimeoutMs)) {
 		return intMfSniffSend();
 	}
 	return FALSE;
@@ -150,14 +158,15 @@ bool RAMFUNC MfSniffSend(uint16_t maxTimeoutMs) {
 bool intMfSniffSend() {
 
 	int pckSize = 0;
-	int pckLen = traceLen;
+	int pckLen = BigBuf_get_traceLen();
 	int pckNum = 0;
-
+	uint8_t *trace = BigBuf_get_addr();
+	
 	FpgaDisableSscDma();
 	while (pckLen > 0) {
 		pckSize = MIN(USB_CMD_DATA_SIZE, pckLen);
 		LED_B_ON();
-		cmd_send(CMD_ACK, 1, pckSize, pckNum, trace + traceLen - pckLen, pckSize);
+		cmd_send(CMD_ACK, 1, BigBuf_get_traceLen(), pckSize, trace + BigBuf_get_traceLen() - pckLen, pckSize);
 		LED_B_OFF();
 
 		pckLen -= pckSize;
@@ -168,7 +177,7 @@ bool intMfSniffSend() {
 	cmd_send(CMD_ACK,2,0,0,0,0);
 	LED_B_OFF();
 
-	iso14a_clear_trace();
+	clear_trace();
 	
 	return TRUE;
 }