]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/mifarecmd.c
FIX: Faster data load.
[proxmark3-svn] / armsrc / mifarecmd.c
index a00c5a8b92b1733362a75bcf6e4886878f357edd..7fa3f525decc2960d933447563e5eea2e8a61e6e 100644 (file)
@@ -44,6 +44,7 @@ void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
        iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
 \r
        clear_trace();\r
+       set_tracing(true);\r
 \r
        LED_A_ON();\r
        LED_B_OFF();\r
@@ -96,6 +97,7 @@ void MifareUC_Auth(uint8_t arg0, uint8_t *keybytes){
        iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
 \r
        clear_trace();\r
+       set_tracing(true);\r
 \r
        if(!iso14443a_select_card(NULL, NULL, NULL, true, 0)) {\r
                if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Can't select card");\r
@@ -131,6 +133,7 @@ void MifareUReadBlock(uint8_t arg0, uint8_t arg1, uint8_t *datain)
        iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
 \r
        clear_trace();\r
+       set_tracing(true);\r
 \r
        int len = iso14443a_select_card(NULL, NULL, NULL, true, 0);\r
        if(!len) {\r
@@ -202,7 +205,8 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
        iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
 \r
        clear_trace();\r
-\r
+       set_tracing(true);\r
+       \r
        LED_A_ON();\r
        LED_B_OFF();\r
        LED_C_OFF();\r
@@ -258,7 +262,8 @@ void MifareUReadCard(uint8_t arg0, uint16_t arg1, uint8_t arg2, uint8_t *datain)
        // free eventually allocated BigBuf memory\r
        BigBuf_free();\r
        clear_trace();\r
-\r
+       set_tracing(true);\r
+       \r
        // params\r
        uint8_t blockNo = arg0;\r
        uint16_t blocks = arg1;\r
@@ -368,7 +373,8 @@ void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
        iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
 \r
        clear_trace();\r
-\r
+       set_tracing(true);\r
+       \r
        LED_A_ON();\r
        LED_B_OFF();\r
        LED_C_OFF();\r
@@ -426,6 +432,7 @@ void MifareUWriteBlockCompat(uint8_t arg0, uint8_t *datain)
        LED_A_ON(); LED_B_OFF(); LED_C_OFF();\r
 \r
        clear_trace();\r
+       set_tracing(true);\r
        iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
 \r
        if(!iso14443a_select_card(uid, NULL, NULL, true, 0)) {\r
@@ -473,7 +480,8 @@ void MifareUWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t *datain)
        iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
 \r
        clear_trace();\r
-\r
+       set_tracing(true);\r
+       \r
        if(!iso14443a_select_card(NULL, NULL, NULL, true, 0)) {\r
                if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card");\r
                OnError(0);\r
@@ -532,7 +540,8 @@ void MifareUSetPwd(uint8_t arg0, uint8_t *datain){
        iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
 \r
        clear_trace();\r
-\r
+       set_tracing(true);\r
+       \r
        if(!iso14443a_select_card(NULL, NULL, NULL, true, 0)) {\r
                if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card");\r
                OnError(0);\r
@@ -750,7 +759,7 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat
        uint16_t davg = 0;\r
        static uint16_t dmin, dmax;\r
        uint8_t uid[10] = {0x00};\r
-       uint32_t cuid, nt1, nt2, nttmp, nttest, ks1;\r
+       uint32_t cuid = 0, nt1, nt2, nttmp, nttest, ks1;\r
        uint8_t par[1] = {0x00};\r
        uint32_t target_nt[2] = {0x00}, target_ks[2] = {0x00};\r
        \r
@@ -759,7 +768,7 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat
        struct Crypto1State mpcs = {0, 0};\r
        struct Crypto1State *pcs;\r
        pcs = &mpcs;\r
-       uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];\r
+       uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE] = {0x00};\r
 \r
        uint32_t auth1_time, auth2_time;\r
        static uint16_t delta_time;\r
@@ -982,35 +991,31 @@ void MifareChkKeys(uint16_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain)
        LED_C_OFF();\r
        iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
 \r
-       if (clearTrace) clear_trace();\r
+       if (clearTrace) \r
+               clear_trace();\r
+       \r
        set_tracing(TRUE);\r
 \r
-       for (i = 0; i < keyCount; i++) {\r
-               if(mifare_classic_halt(pcs, cuid)) {\r
+       for (i = 0; i < keyCount; ++i) {\r
+               if (mifare_classic_halt(pcs, cuid))\r
                        if (MF_DBGLEVEL >= 1)   Dbprintf("ChkKeys: Halt error");\r
-               }\r
 \r
-               if(!iso14443a_select_card(uid, NULL, &cuid, true, 0)) {\r
+               if (!iso14443a_select_card(uid, NULL, &cuid, true, 0)) {\r
                        if (OLD_MF_DBGLEVEL >= 1)       Dbprintf("ChkKeys: Can't select card");\r
                        break;\r
-               };\r
+               }\r
 \r
                ui64Key = bytes_to_num(datain + i * 6, 6);\r
-               if(mifare_classic_auth(pcs, cuid, blockNo, keyType, ui64Key, AUTH_FIRST)) {\r
+               if (mifare_classic_auth(pcs, cuid, blockNo, keyType, ui64Key, AUTH_FIRST))\r
                        continue;\r
-               };\r
                \r
                isOK = 1;\r
                break;\r
        }\r
-       \r
-       //  ----------------------------- crypto1 destroy\r
        crypto1_destroy(pcs);\r
        \r
        LED_B_ON();\r
     cmd_send(CMD_ACK,isOK,0,0,datain + i * 6,6);\r
-       LED_B_OFF();\r
-\r
        FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
        LEDsoff();\r
        set_tracing(FALSE);\r
@@ -1354,6 +1359,7 @@ void Mifare_DES_Auth1(uint8_t arg0, uint8_t *datain){
     \r
        iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
        clear_trace();\r
+       set_tracing(true);\r
 \r
        int len = iso14443a_select_card(uid, NULL, &cuid, true, 0);\r
        if(!len) {\r
Impressum, Datenschutz