projects
/
proxmark3-svn
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
CHG: minor updates in the T55x7 methods. added the LED_A_ON / LED_A_OFF to indicate...
[proxmark3-svn]
/
armsrc
/
mifarecmd.c
diff --git
a/armsrc/mifarecmd.c
b/armsrc/mifarecmd.c
index 102887e45b3dcbfa2ccf59f205d1a05612ac0e3a..0b75ebc3fb9543229463102b28bef0f4a81ad00f 100644
(file)
--- a/
armsrc/mifarecmd.c
+++ b/
armsrc/mifarecmd.c
@@
-637,8
+637,8
@@
void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat
// free eventually allocated BigBuf memory
\r
BigBuf_free();
\r
\r
// free eventually allocated BigBuf memory
\r
BigBuf_free();
\r
\r
- clear_trace();
\r
- set_tracing(
fals
e);
\r
+
if (calibrate)
clear_trace();
\r
+ set_tracing(
tru
e);
\r
\r
// statistics on nonce distance
\r
int16_t isOK = 0;
\r
\r
// statistics on nonce distance
\r
int16_t isOK = 0;
\r
@@
-723,7
+723,6
@@
void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat
dmax = davg + 2;
\r
\r
LED_B_OFF();
\r
dmax = davg + 2;
\r
\r
LED_B_OFF();
\r
-
\r
}
\r
// -------------------------------------------------------------------------------------------------
\r
\r
}
\r
// -------------------------------------------------------------------------------------------------
\r
\r
@@
-815,18
+814,19
@@
void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat
\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
\r
LEDsoff();
\r
\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
\r
LEDsoff();
\r
- set_tracing(
TRU
E);
\r
+ set_tracing(
FALS
E);
\r
}
\r
\r
//-----------------------------------------------------------------------------
\r
// MIFARE check keys. key count up to 85.
\r
//
\r
//-----------------------------------------------------------------------------
\r
}
\r
\r
//-----------------------------------------------------------------------------
\r
// MIFARE check keys. key count up to 85.
\r
//
\r
//-----------------------------------------------------------------------------
\r
-void MifareChkKeys(uint
8
_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
\r
+void MifareChkKeys(uint
16
_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
\r
{
\r
// params
\r
{
\r
// params
\r
- uint8_t blockNo = arg0;
\r
- uint8_t keyType = arg1;
\r
+ uint8_t blockNo = arg0 & 0xff;
\r
+ uint8_t keyType = (arg0 >> 8) & 0xff;
\r
+ bool clearTrace = arg1;
\r
uint8_t keyCount = arg2;
\r
uint64_t ui64Key = 0;
\r
\r
uint8_t keyCount = arg2;
\r
uint64_t ui64Key = 0;
\r
\r
@@
-848,7
+848,7
@@
void MifareChkKeys(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
LED_C_OFF();
\r
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
\r
\r
LED_C_OFF();
\r
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
\r
\r
- clear_trace();
\r
+
if (clearTrace)
clear_trace();
\r
set_tracing(TRUE);
\r
\r
for (i = 0; i < keyCount; i++) {
\r
set_tracing(TRUE);
\r
\r
for (i = 0; i < keyCount; i++) {
\r
@@
-879,7
+879,8
@@
void MifareChkKeys(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
\r
LEDsoff();
\r
\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
\r
LEDsoff();
\r
-
\r
+ set_tracing(FALSE);
\r
+
\r
// restore debug level
\r
MF_DBGLEVEL = OLD_MF_DBGLEVEL;
\r
}
\r
// restore debug level
\r
MF_DBGLEVEL = OLD_MF_DBGLEVEL;
\r
}
\r
@@
-908,7
+909,8
@@
void MifareEMemClr(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain)
\r
void MifareEMemSet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){
\r
FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
\r
\r
void MifareEMemSet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){
\r
FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
\r
- emlSetMem(datain, arg0, arg1); // data, block num, blocks count
\r
+ //emlSetMem(datain, arg0, arg1); // data, block num, blocks count
\r
+ emlSetMem_xt(datain, arg0, arg1, arg2); // data, block num, blocks count, block byte width
\r
}
\r
\r
void MifareEMemGet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){
\r
}
\r
\r
void MifareEMemGet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){
\r
@@
-945,7
+947,7
@@
void MifareECardLoad(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
\r
\r
clear_trace();
\r
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
\r
\r
clear_trace();
\r
- set_tracing(
false
);
\r
+ set_tracing(
TRUE
);
\r
\r
bool isOK = true;
\r
\r
\r
bool isOK = true;
\r
\r
@@
-1001,6
+1003,7
@@
void MifareECardLoad(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
\r
if (MF_DBGLEVEL >= 2) DbpString("EMUL FILL SECTORS FINISHED");
\r
\r
\r
if (MF_DBGLEVEL >= 2) DbpString("EMUL FILL SECTORS FINISHED");
\r
\r
+ set_tracing(FALSE);
\r
}
\r
\r
\r
}
\r
\r
\r
@@
-1127,6
+1130,7
@@
void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
if ((workFlags & 0x10) || (!isOK)) {
\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
\r
LEDsoff();
\r
if ((workFlags & 0x10) || (!isOK)) {
\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
\r
LEDsoff();
\r
+ set_tracing(FALSE);
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-1138,6
+1142,7
@@
void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
// bit 2 - need HALT after sequence
\r
// bit 3 - need init FPGA and field before sequence
\r
// bit 4 - need reset FPGA and LED
\r
// bit 2 - need HALT after sequence
\r
// bit 3 - need init FPGA and field before sequence
\r
// bit 4 - need reset FPGA and LED
\r
+ // bit 5 - need to set datain instead of issuing USB reply (called via ARM for StandAloneMode14a)
\r
uint8_t workFlags = arg0;
\r
uint8_t blockNo = arg2;
\r
\r
uint8_t workFlags = arg0;
\r
uint8_t blockNo = arg2;
\r
\r
@@
-1197,12
+1202,18
@@
void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
}
\r
\r
LED_B_ON();
\r
}
\r
\r
LED_B_ON();
\r
+ if (workFlags & 0x20) {
\r
+ if (isOK)
\r
+ memcpy(datain, data, 18);
\r
+ }
\r
+ else
\r
cmd_send(CMD_ACK,isOK,0,0,data,18);
\r
LED_B_OFF();
\r
\r
if ((workFlags & 0x10) || (!isOK)) {
\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
\r
LEDsoff();
\r
cmd_send(CMD_ACK,isOK,0,0,data,18);
\r
LED_B_OFF();
\r
\r
if ((workFlags & 0x10) || (!isOK)) {
\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
\r
LEDsoff();
\r
+ set_tracing(FALSE);
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-1254,11
+1265,10
@@
void MifareCollectNonces(uint32_t arg0, uint32_t arg1){
LED_B_OFF();
\r
LED_C_OFF();
\r
\r
LED_B_OFF();
\r
LED_C_OFF();
\r
\r
-iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
\r
+
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
\r
clear_trace();
\r
set_tracing(TRUE);
\r
clear_trace();
\r
set_tracing(TRUE);
\r
-
\r
-
\r
+
\r
for (int i = 0; i < iterations; i++) {
\r
\r
WDT_HIT();
\r
for (int i = 0; i < iterations; i++) {
\r
\r
WDT_HIT();
\r
@@
-1301,6
+1311,7
@@
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
}
\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
\r
LEDsoff();
\r
}
\r
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
\r
LEDsoff();
\r
+ set_tracing(FALSE);
\r
}
\r
\r
//
\r
}
\r
\r
//
\r
Impressum
,
Datenschutz