]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/mifarecmd.c
FIX: dumptoemul.lua removed the extra linebreak in the end, making some load commands...
[proxmark3-svn] / armsrc / mifarecmd.c
index c56f2337e68b0cdb8c12c2543b4e1c4a8c52f4ce..9c17ce3cb3490b066a1f6c65d4c71d084604d256 100644 (file)
 \r
 #include "crc.h"\r
 \r
-// the block number for the ISO14443-4 PCB\r
-uint8_t pcb_blocknum = 0;\r
-// Deselect card by sending a s-block. the crc is precalced for speed\r
-static  uint8_t deselect_cmd[] = {0xc2,0xe0,0xb4};\r
-\r
-\r
 //-----------------------------------------------------------------------------\r
 // Select, Authenticate, Read a MIFARE tag. \r
 // read block\r
@@ -117,8 +111,6 @@ void MifareUC_Auth(uint8_t arg0, uint8_t *keybytes){
                LEDsoff();\r
        }\r
        cmd_send(CMD_ACK,1,0,0,0,0);\r
-       }       \r
-       cmd_send(CMD_ACK,1,0,0,0,0);\r
 }\r
 \r
 // Arg0 = BlockNo,\r
@@ -258,7 +250,6 @@ void MifareUReadCard(uint8_t arg0, uint16_t arg1, uint8_t arg2, uint8_t *datain)
 {\r
        // free eventually allocated BigBuf memory\r
        BigBuf_free();\r
-       // clear trace\r
        clear_trace();\r
 \r
        // params\r
@@ -313,36 +304,7 @@ void MifareUReadCard(uint8_t arg0, uint16_t arg1, uint8_t arg2, uint8_t *datain)
                        Dbprintf("Data exceeds buffer!!");\r
                        break;\r
                }\r
-       \r
-        // UL-C authentication\r
-       if ( useKey ) {\r
-               uint8_t key[16] = {0x00};       \r
-               memcpy(key, datain, sizeof(key) );\r
-\r
-               if ( !mifare_ultra_auth(key) ) {\r
-                       OnError(1);\r
-                       return;                 \r
-               }\r
-       }\r
 \r
-       // UL-EV1 / NTAG authentication\r
-       if (usePwd) { \r
-               uint8_t pwd[4] = {0x00};\r
-               memcpy(pwd, datain, sizeof(pwd));\r
-               uint8_t pack[4] = {0,0,0,0};\r
-\r
-               if (!mifare_ul_ev1_auth(pwd, pack)){\r
-                       OnError(1);\r
-                       return;                 \r
-               }\r
-       }\r
-       \r
-       for (int i = 0; i < blocks; i++){\r
-               if ((i*4) + 4 > CARD_MEMORY_SIZE) {\r
-                       Dbprintf("Data exceeds buffer!!");\r
-                       break;\r
-               }\r
-       \r
                len = mifare_ultra_readblock(blockNo + i, dataout + 4 * i);\r
                \r
                if (len) {\r
@@ -370,9 +332,11 @@ void MifareUReadCard(uint8_t arg0, uint16_t arg1, uint8_t arg2, uint8_t *datain)
        if (MF_DBGLEVEL >= MF_DBG_EXTENDED) Dbprintf("Blocks read %d", countblocks);\r
 \r
        countblocks *= 4;\r
-       cmd_send(CMD_ACK, 1, countblocks, countblocks, 0, 0);\r
+       cmd_send(CMD_ACK, 1, countblocks, BigBuf_max_traceLen(),0 , 0);\r
        FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
        LEDsoff();\r
+       \r
+       BigBuf_free();\r
 }\r
 \r
 //-----------------------------------------------------------------------------\r
@@ -1373,19 +1337,4 @@ void Mifare_DES_Auth2(uint32_t arg0, uint8_t *datain){
        cmd_send(CMD_ACK, isOK, 0, 0, dataout, sizeof(dataout));\r
        FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
        LEDsoff();\r
-}\r
-\r
-void OnSuccess(){\r
-       pcb_blocknum = 0;\r
-       ReaderTransmit(deselect_cmd, 3 , NULL);\r
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
-       LEDsoff();\r
-}\r
-\r
-void OnError(uint8_t reason){\r
-       pcb_blocknum = 0;\r
-       ReaderTransmit(deselect_cmd, 3 , NULL);\r
-       FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);\r
-       cmd_send(CMD_ACK,0,reason,0,0,0);\r
-       LEDsoff();\r
-}\r
+}
\ No newline at end of file
Impressum, Datenschutz