]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/iclass.c
BUG: fixed a bug with the initialization of IV in cmdhfmfu.c CmdHF14AMfucAuth
[proxmark3-svn] / armsrc / iclass.c
index 9d31cd736d859418cd0c35f4d2b549f2c83b6ca4..6ceb436b81d1e56fa1f397894204685660d1fd3e 100644 (file)
@@ -36,7 +36,7 @@
 //
 //-----------------------------------------------------------------------------
 
-#include "proxmark3.h"
+#include "../include/proxmark3.h"
 #include "apps.h"
 #include "util.h"
 #include "string.h"
 // Needed for CRC in emulation mode;
 // same construction as in ISO 14443;
 // different initial value (CRC_ICLASS)
-#include "iso14443crc.h"
+#include "../common/iso14443crc.h"
+#include "../common/iso15693tools.h"
 #include "iso15693tools.h"
 
+
 static int timeout = 4096;
 
 
@@ -1493,16 +1495,15 @@ void setupIclassReader()
 
 // Reader iClass Anticollission
 void ReaderIClass(uint8_t arg0) {
-    uint8_t act_all[]     = { 0x0a };
-    uint8_t identify[]    = { 0x0c };
-    uint8_t select[]      = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+       uint8_t act_all[]     = { 0x0a };
+       uint8_t identify[]    = { 0x0c };
+       uint8_t select[]      = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
     uint8_t readcheck_cc[]= { 0x88, 0x02 };
 
     uint8_t card_data[24]={0};
     uint8_t last_csn[8]={0};
 
-    uint8_t* resp = (((uint8_t *)BigBuf) + 3560);      // was 3560 - tied to other size changes
-    FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
+       uint8_t* resp = (((uint8_t *)BigBuf) + 3560);   // was 3560 - tied to other size changes
 
     int read_status= 0;
     bool abort_after_read = arg0 & FLAG_ICLASS_READER_ONLY_ONCE;
@@ -1594,28 +1595,9 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) {
        } memory;
        
        uint8_t* resp = (((uint8_t *)BigBuf) + 3560);   // was 3560 - tied to other size changes
-    // Enable and clear the trace
-    iso14a_set_tracing(TRUE);
-    iso14a_clear_trace();
-
-
-
-       // Setup SSC
-       FpgaSetupSsc();
-       // Start from off (no field generated)
-       // Signal field is off with the appropriate LED
-       LED_D_OFF();
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-       SpinDelay(200);
 
-       SetAdcMuxFor(GPIO_MUXSEL_HIPKD);
-
-       // Now give it time to spin up.
-       // Signal field is on with the appropriate LED
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD);
-       SpinDelay(200);
+    setupIclassReader();
 
-       LED_A_ON();
 
        for(int i=0;i<1;i++) {
        
@@ -1654,8 +1636,8 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) {
                                Dbprintf("Authenticate");
                                //for now replay captured auth (as cc not updated)
                                memcpy(check+5,MAC,4);
-                               Dbprintf("     AA: %02x %02x %02x %02x",
-                                       check[5], check[6], check[7],check[8]);
+                //Dbprintf("     AA: %02x %02x %02x %02x",
+                //     check[5], check[6], check[7],check[8]);
                                ReaderTransmitIClass(check, sizeof(check));
                                if(ReaderReceiveIClass(resp) == 4) {
                                   Dbprintf("     AR: %02x %02x %02x %02x",
@@ -1734,7 +1716,7 @@ void IClass_iso14443A_write(uint8_t arg0, uint8_t blockNo, uint8_t *data, uint8_
        uint8_t* resp = (((uint8_t *)BigBuf) + 3560);   // was 3560 - tied to other size changes
 
        // Reset trace buffer
-    memset(trace, 0x44, RECV_CMD_OFFSET);
+       memset(trace, 0x44, RECV_CMD_OFFSET);
        traceLen = 0;
 
        // Setup SSC
Impressum, Datenschutz