]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlft55xx.c
LF t55xx and LF em4x commands now should manchester decode data. However t55xx...
[proxmark3-svn] / client / cmdlft55xx.c
index 5a464ddb1e66aa0379629505650d2ac40f578985..a002bf3446ab3a9344b9bea082efad6ba2989ecc 100644 (file)
@@ -29,25 +29,25 @@ int CmdReadBlk(const char *Cmd)
 {\r
        //default to invalid block\r
        int Block = -1;\r
-  UsbCommand c;\r
+       UsbCommand c;\r
 \r
-  sscanf(Cmd, "%d", &Block);\r
+       sscanf(Cmd, "%d", &Block);\r
 \r
        if ((Block > 7) | (Block < 0)) {\r
-       PrintAndLog("Block must be between 0 and 7");\r
-       return 1;\r
-  }    \r
+               PrintAndLog("Block must be between 0 and 7");\r
+               return 1;\r
+       }       \r
 \r
        PrintAndLog(" Reading page 0 block : %d", Block);\r
 \r
        // this command fills up BigBuff\r
        // \r
-  c.cmd = CMD_T55XX_READ_BLOCK;\r
+       c.cmd = CMD_T55XX_READ_BLOCK;\r
        c.d.asBytes[0] = 0x00;\r
-  c.arg[0] = 0;\r
-  c.arg[1] = Block;\r
-  c.arg[2] = 0;\r
-  SendCommand(&c);\r
+       c.arg[0] = 0;\r
+       c.arg[1] = Block;\r
+       c.arg[2] = 0;\r
+       SendCommand(&c);\r
        WaitForResponse(CMD_ACK, NULL);\r
        \r
        uint8_t data[LF_TRACE_BUFF_SIZE];\r
@@ -62,18 +62,17 @@ int CmdReadBlk(const char *Cmd)
        GraphTraceLen = LF_TRACE_BUFF_SIZE;\r
          \r
        // BiDirectional\r
-       CmdDirectionalThreshold("70 -60");      \r
+       //CmdDirectionalThreshold("70 60");\r
        \r
        // Askdemod\r
-       Cmdaskdemod("1");\r
+       //Cmdaskdemod("1");\r
        \r
        uint8_t bits[1000];\r
        uint8_t * bitstream = bits;\r
-       uint8_t len = 0;\r
-       len = manchester_decode(data, LF_TRACE_BUFF_SIZE, bitstream);\r
-       if ( len > 0 )\r
-               PrintPaddedManchester(bitstream, len, 32);\r
-\r
+       memset(bitstream, 0x00, sizeof(bits));\r
+       \r
+       manchester_decode(GraphBuffer, LF_TRACE_BUFF_SIZE, bitstream);\r
+       \r
   return 0;\r
 }\r
 \r
@@ -81,24 +80,24 @@ int CmdReadBlk(const char *Cmd)
 int CmdReadBlkPWD(const char *Cmd)\r
 {\r
        int Block = -1; //default to invalid block\r
-  int Password = 0xFFFFFFFF; //default to blank Block 7\r
-  UsbCommand c;\r
+       int Password = 0xFFFFFFFF; //default to blank Block 7\r
+       UsbCommand c;\r
 \r
-  sscanf(Cmd, "%d %x", &Block, &Password);\r
+       sscanf(Cmd, "%d %x", &Block, &Password);\r
 \r
        if ((Block > 7) | (Block < 0)) {\r
-       PrintAndLog("Block must be between 0 and 7");\r
-       return 1;\r
-  }    \r
+               PrintAndLog("Block must be between 0 and 7");\r
+               return 1;\r
+       }       \r
 \r
        PrintAndLog("Reading page 0 block %d pwd %08X", Block, Password);\r
 \r
-  c.cmd = CMD_T55XX_READ_BLOCK;\r
-  c.d.asBytes[0] = 0x1; //Password mode\r
-  c.arg[0] = 0;\r
-  c.arg[1] = Block;\r
-  c.arg[2] = Password;\r
-  SendCommand(&c);\r
+       c.cmd = CMD_T55XX_READ_BLOCK;\r
+       c.d.asBytes[0] = 0x1; //Password mode\r
+       c.arg[0] = 0;\r
+       c.arg[1] = Block;\r
+       c.arg[2] = Password;\r
+       SendCommand(&c);\r
        WaitForResponse(CMD_ACK, NULL);\r
                \r
        uint8_t data[LF_TRACE_BUFF_SIZE];\r
@@ -113,17 +112,16 @@ int CmdReadBlkPWD(const char *Cmd)
        GraphTraceLen = LF_TRACE_BUFF_SIZE;\r
 \r
        // BiDirectional\r
-       CmdDirectionalThreshold("70 -60");      \r
+       //CmdDirectionalThreshold("70 -60");    \r
        \r
        // Askdemod\r
-       Cmdaskdemod("1");\r
+       //Cmdaskdemod("1");\r
                \r
        uint8_t bits[1000];\r
-       uint8_t len = 0;\r
-       len = manchester_decode(data, LF_TRACE_BUFF_SIZE, bits);\r
-       if ( len > 0 )\r
-               PrintPaddedManchester(bits, len, 32);\r
-               \r
+       uint8_t * bitstream = bits;\r
+       memset(bitstream, 0x00, sizeof(bits));\r
+       \r
+       manchester_decode(GraphBuffer, LF_TRACE_BUFF_SIZE, bitstream);\r
   return 0;\r
 }\r
 \r
@@ -197,28 +195,29 @@ int CmdReadTrace(const char *Cmd)
        GraphTraceLen = LF_TRACE_BUFF_SIZE;\r
        \r
        // BiDirectional\r
-       CmdDirectionalThreshold("70 -60");      \r
+       //CmdDirectionalThreshold("70 -60");    \r
        \r
        // Askdemod\r
-       Cmdaskdemod("1");\r
+       //Cmdaskdemod("1");\r
+\r
 \r
-       uint8_t bits[512];\r
-       uint8_t len = 0;\r
-       len =  manchester_decode(data,LF_TRACE_BUFF_SIZE,bits);\r
-       if ( len > 0 )\r
-               PrintPaddedManchester(bits, len, 64);\r
+       uint8_t bits[1000];\r
+       uint8_t * bitstream = bits;\r
+       memset(bitstream, 0x00, sizeof(bits));\r
        \r
+       manchester_decode(GraphBuffer, LF_TRACE_BUFF_SIZE, bitstream);\r
+               \r
   return 0;\r
 }\r
 \r
 static command_t CommandTable[] =\r
 {\r
-  {"help",          CmdHelp,        1, "This help"},\r
-  {"readblock",     CmdReadBlk,     1, "<Block> -- Read T55xx block data (page 0)"},\r
-  {"readblockPWD",  CmdReadBlkPWD,  1, "<Block> <Password> -- Read T55xx block data in password mode(page 0)"},\r
-  {"writeblock",    CmdWriteBlk,    1, "<Data> <Block> -- Write T55xx block data (page 0)"},\r
-  {"writeblockPWD", CmdWriteBlkPWD, 1, "<Data> <Block> <Password> -- Write T55xx block data in password mode(page 0)"},\r
-  {"readtrace",     CmdReadTrace,   1, "Read T55xx traceability data (page 1)"},\r
+  {"help",   CmdHelp,        1, "This help"},\r
+  {"rd",     CmdReadBlk,     0, "<Block> -- Read T55xx block data (page 0)"},\r
+  {"rdPWD",  CmdReadBlkPWD,  0, "<Block> <Password> -- Read T55xx block data in password mode(page 0)"},\r
+  {"wr",     CmdWriteBlk,    0, "<Data> <Block> -- Write T55xx block data (page 0)"},\r
+  {"wrPWD",  CmdWriteBlkPWD, 0, "<Data> <Block> <Password> -- Write T55xx block data in password mode(page 0)"},\r
+  {"trace",  CmdReadTrace,   0, "Read T55xx traceability data (page 1)"},\r
   {NULL, NULL, 0, NULL}\r
 };\r
 \r
Impressum, Datenschutz