projects
/
proxmark3-svn
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
REM: removed an offensive #include on archlinux. Compiles on mingw without.
[proxmark3-svn]
/
armsrc
/
mifaresniff.c
diff --git
a/armsrc/mifaresniff.c
b/armsrc/mifaresniff.c
index bd9840e8cb4a8467e9b3c6b3719f0aede40a9d18..0cc2963bc3a88c7c7854ea11689d75773f3265bf 100644
(file)
--- a/
armsrc/mifaresniff.c
+++ b/
armsrc/mifaresniff.c
@@
-13,10
+13,10
@@
\r
static int sniffState = SNF_INIT;
\r
static uint8_t sniffUIDType;
\r
\r
static int sniffState = SNF_INIT;
\r
static uint8_t sniffUIDType;
\r
-static uint8_t sniffUID[8];
\r
-static uint8_t sniffATQA[2];
\r
+static uint8_t sniffUID[8]
= {0x00}
;
\r
+static uint8_t sniffATQA[2]
= {0x00}
;
\r
static uint8_t sniffSAK;
\r
static uint8_t sniffSAK;
\r
-static uint8_t sniffBuf[16];
\r
+static uint8_t sniffBuf[16]
= {0x00}
;
\r
static uint32_t timerData = 0;
\r
\r
\r
static uint32_t timerData = 0;
\r
\r
\r
@@
-37,7
+37,7
@@
bool MfSniffEnd(void){
return FALSE;
\r
}
\r
\r
return FALSE;
\r
}
\r
\r
-bool RAMFUNC MfSniffLogic(const uint8_t *data, uint16_t len, uint
32_t
parity, uint16_t bitCnt, bool reader) {
\r
+bool RAMFUNC MfSniffLogic(const uint8_t *data, uint16_t len, uint
8_t *
parity, uint16_t bitCnt, bool reader) {
\r
\r
if (reader && (len == 1) && (bitCnt == 7)) { // reset on 7-Bit commands from reader
\r
sniffState = SNF_INIT;
\r
\r
if (reader && (len == 1) && (bitCnt == 7)) { // reset on 7-Bit commands from reader
\r
sniffState = SNF_INIT;
\r
@@
-93,7
+93,8
@@
bool RAMFUNC MfSniffLogic(const uint8_t *data, uint16_t len, uint32_t parity, ui
}
\r
case SNF_ANTICOL2:{
\r
if ((!reader) && (len == 5) && ((data[0] ^ data[1] ^ data[2] ^ data[3]) == data[4])) { // CL2 UID
\r
}
\r
case SNF_ANTICOL2:{
\r
if ((!reader) && (len == 5) && ((data[0] ^ data[1] ^ data[2] ^ data[3]) == data[4])) { // CL2 UID
\r
- memcpy(sniffUID, data, 4);
\r
+ memcpy(sniffUID, sniffUID+4, 3);
\r
+ memcpy(sniffUID+3, data, 4);
\r
sniffUIDType = SNF_UID_7;
\r
sniffState = SNF_UID2;
\r
}
\r
sniffUIDType = SNF_UID_7;
\r
sniffState = SNF_UID2;
\r
}
\r
@@
-113,16
+114,16
@@
bool RAMFUNC MfSniffLogic(const uint8_t *data, uint16_t len, uint32_t parity, ui
sniffBuf[11] = sniffSAK;
\r
sniffBuf[12] = 0xFF;
\r
sniffBuf[13] = 0xFF;
\r
sniffBuf[11] = sniffSAK;
\r
sniffBuf[12] = 0xFF;
\r
sniffBuf[13] = 0xFF;
\r
- LogTrace(sniffBuf, 14, 0,
parity, true
);
\r
+ LogTrace(sniffBuf, 14, 0,
0, NULL, TRUE
);
\r
} // intentionally no break;
\r
case SNF_CARD_CMD:{
\r
} // intentionally no break;
\r
case SNF_CARD_CMD:{
\r
- LogTrace(data, len, 0,
parity, true
);
\r
+ LogTrace(data, len, 0,
0, NULL, TRUE
);
\r
sniffState = SNF_CARD_RESP;
\r
timerData = GetTickCount();
\r
break;
\r
}
\r
case SNF_CARD_RESP:{
\r
sniffState = SNF_CARD_RESP;
\r
timerData = GetTickCount();
\r
break;
\r
}
\r
case SNF_CARD_RESP:{
\r
- LogTrace(data, len, 0,
parity, false
);
\r
+ LogTrace(data, len, 0,
0, NULL, FALSE
);
\r
sniffState = SNF_CARD_CMD;
\r
timerData = GetTickCount();
\r
break;
\r
sniffState = SNF_CARD_CMD;
\r
timerData = GetTickCount();
\r
break;
\r
@@
-138,7
+139,7
@@
bool RAMFUNC MfSniffLogic(const uint8_t *data, uint16_t len, uint32_t parity, ui
}
\r
\r
bool RAMFUNC MfSniffSend(uint16_t maxTimeoutMs) {
\r
}
\r
\r
bool RAMFUNC MfSniffSend(uint16_t maxTimeoutMs) {
\r
- if (
traceLen
&& (GetTickCount() > timerData + maxTimeoutMs)) {
\r
+ if (
BigBuf_get_traceLen()
&& (GetTickCount() > timerData + maxTimeoutMs)) {
\r
return intMfSniffSend();
\r
}
\r
return FALSE;
\r
return intMfSniffSend();
\r
}
\r
return FALSE;
\r
@@
-148,14
+149,15
@@
bool RAMFUNC MfSniffSend(uint16_t maxTimeoutMs) {
bool intMfSniffSend() {
\r
\r
int pckSize = 0;
\r
bool intMfSniffSend() {
\r
\r
int pckSize = 0;
\r
- int pckLen =
traceLen
;
\r
+ int pckLen =
BigBuf_get_traceLen()
;
\r
int pckNum = 0;
\r
int pckNum = 0;
\r
-
\r
+ uint8_t *trace = BigBuf_get_addr();
\r
+
\r
FpgaDisableSscDma();
\r
while (pckLen > 0) {
\r
pckSize = MIN(USB_CMD_DATA_SIZE, pckLen);
\r
LED_B_ON();
\r
FpgaDisableSscDma();
\r
while (pckLen > 0) {
\r
pckSize = MIN(USB_CMD_DATA_SIZE, pckLen);
\r
LED_B_ON();
\r
- cmd_send(CMD_ACK, 1,
pckSize, pckNum, trace + traceLen
- pckLen, pckSize);
\r
+ cmd_send(CMD_ACK, 1,
BigBuf_get_traceLen(), pckSize, trace + BigBuf_get_traceLen()
- pckLen, pckSize);
\r
LED_B_OFF();
\r
\r
pckLen -= pckSize;
\r
LED_B_OFF();
\r
\r
pckLen -= pckSize;
\r
@@
-166,7
+168,7
@@
bool intMfSniffSend() {
cmd_send(CMD_ACK,2,0,0,0,0);
\r
LED_B_OFF();
\r
\r
cmd_send(CMD_ACK,2,0,0,0,0);
\r
LED_B_OFF();
\r
\r
-
iso14a_
clear_trace();
\r
+ clear_trace();
\r
\r
return TRUE;
\r
}
\r
\r
return TRUE;
\r
}
\r
Impressum
,
Datenschutz