]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/mifarecmd.c
FIX: 'iclass write'
[proxmark3-svn] / armsrc / mifarecmd.c
index 49730af98cae3f30edebcea8bafbb88168a6b34d..f906099cfd49150eca93c88f20848807fdbe4fe1 100644 (file)
@@ -641,14 +641,17 @@ void MifareAcquireEncryptedNonces(uint32_t arg0, uint32_t arg1, uint32_t flags,
        LED_A_ON();\r
        LED_C_OFF();\r
 \r
+       BigBuf_free(); BigBuf_Clear_ext(false); \r
+       clear_trace();\r
+       set_tracing(FALSE);\r
+       \r
        if (initialize) {\r
                iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);\r
-               clear_trace();\r
-               set_tracing(true);\r
        }\r
        \r
        LED_C_ON();\r
        \r
+       uint8_t dummy_answer = 0;       \r
        uint16_t num_nonces = 0;\r
        bool have_uid = false;\r
        for (uint16_t i = 0; i <= USB_CMD_DATA_SIZE - 9; ) {\r
@@ -699,7 +702,6 @@ void MifareAcquireEncryptedNonces(uint32_t arg0, uint32_t arg1, uint32_t flags,
                }\r
        \r
                // send a dummy byte as reader response in order to trigger the cards authentication timeout\r
-               uint8_t dummy_answer = 0;\r
                ReaderTransmit(&dummy_answer, 1, NULL);\r
                timeout = GetCountSspClk() + AUTHENTICATION_TIMEOUT;\r
                \r
@@ -708,7 +710,7 @@ void MifareAcquireEncryptedNonces(uint32_t arg0, uint32_t arg1, uint32_t flags,
                        memcpy(buf+i, receivedAnswer, 4);\r
                        nt_par_enc = par_enc[0] & 0xf0;\r
                } else {\r
-                       nt_par_enc |= par_enc[0] >> 4;\r
+                       nt_par_enc |= par_enc[0]  >> 4;\r
                        memcpy(buf+i+4, receivedAnswer, 4);\r
                        memcpy(buf+i+8, &nt_par_enc, 1);\r
                        i += 9;\r
@@ -718,9 +720,7 @@ void MifareAcquireEncryptedNonces(uint32_t arg0, uint32_t arg1, uint32_t flags,
        }\r
 \r
        LED_C_OFF();\r
-       \r
-       crypto1_destroy(pcs);\r
-       \r
+       crypto1_destroy(pcs);   \r
        LED_B_ON();\r
        cmd_send(CMD_ACK, isOK, cuid, num_nonces, buf, sizeof(buf));\r
        LED_B_OFF();\r
@@ -1217,10 +1217,9 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint8_t *datain){
                        if(!iso14443a_select_card(uid, NULL, &cuid, true, 0)) {\r
                                if (MF_DBGLEVEL >= MF_DBG_ERROR)        Dbprintf("Can't select card");\r
                                errormsg = MAGIC_UID;\r
-                               // break;\r
                        }\r
-                       \r
-                       if ( mifare_classic_halt_ex(NULL) ) break;\r
+                       mifare_classic_halt_ex(NULL);\r
+                       break;\r
                }\r
        \r
                // wipe tag, fill it with zeros\r
@@ -1239,7 +1238,7 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint8_t *datain){
                                break;\r
                        }\r
 \r
-                       if ( mifare_classic_halt_ex(NULL) ) break;\r
+                       mifare_classic_halt_ex(NULL);\r
                }       \r
 \r
                // write block\r
@@ -1276,7 +1275,7 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint8_t *datain){
                }       \r
        \r
                if (workFlags & MAGIC_OFF) \r
-                       if ( mifare_classic_halt_ex(NULL) ) break;\r
+                       mifare_classic_halt_ex(NULL);\r
                \r
                isOK = true;\r
                break;\r
Impressum, Datenschutz