]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlf.c
fix: USB Power requirements
[proxmark3-svn] / client / cmdlf.c
index 28b758b6fbb2ca7b895c838d3f7fb4b0864fb877..ef9c3cbbf9353cb60b626165a9925a6da9586813 100644 (file)
@@ -93,7 +93,7 @@ int CmdLFCommandRead(const char *Cmd)
                        cmdp++;
                        break;
                case 'c':
                        cmdp++;
                        break;
                case 'c':
-                       param_getstr(Cmd, cmdp+1, (char *)&c.d.asBytes);
+                       param_getstr(Cmd, cmdp+1, (char *)&c.d.asBytes, sizeof(c.d.asBytes));
                        cmdp+=2;
                        break;
                case 'd':
                        cmdp+=2;
                        break;
                case 'd':
@@ -350,7 +350,8 @@ bool lf_read(bool silent, uint32_t samples) {
                        return false;
                }
        }
                        return false;
                }
        }
-       getSamples(resp.arg[0], silent);
+       // resp.arg[0] is bits read not bytes read.
+       getSamples(resp.arg[0]/8, silent);
 
        return true;
 }
 
        return true;
 }
@@ -409,14 +410,13 @@ int CmdLFSim(const char *Cmd)
 
        sscanf(Cmd, "%i", &gap);
 
 
        sscanf(Cmd, "%i", &gap);
 
-       // convert to bitstream if necessary 
-
+       // convert to bitstream if necessary
        ChkBitstream(Cmd);
 
        //can send only 512 bits at a time (1 byte sent per bit...)
        printf("Sending [%d bytes]", GraphTraceLen);
        for (i = 0; i < GraphTraceLen; i += USB_CMD_DATA_SIZE) {
        ChkBitstream(Cmd);
 
        //can send only 512 bits at a time (1 byte sent per bit...)
        printf("Sending [%d bytes]", GraphTraceLen);
        for (i = 0; i < GraphTraceLen; i += USB_CMD_DATA_SIZE) {
-               UsbCommand c={CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}};
+               UsbCommand c = {CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}};
 
                for (j = 0; j < USB_CMD_DATA_SIZE; j++) {
                        c.d.asBytes[j] = GraphBuffer[i+j];
 
                for (j = 0; j < USB_CMD_DATA_SIZE; j++) {
                        c.d.asBytes[j] = GraphBuffer[i+j];
@@ -491,7 +491,7 @@ int CmdLFfskSim(const char *Cmd)
        uint8_t fcHigh=0, fcLow=0, clk=0;
        uint8_t invert=0;
        bool errors = false;
        uint8_t fcHigh=0, fcLow=0, clk=0;
        uint8_t invert=0;
        bool errors = false;
-       char hexData[32] = {0x00}; // store entered hex data
+       char hexData[64] = {0x00}; // store entered hex data
        uint8_t data[255] = {0x00}; 
        int dataLen = 0;
        uint8_t cmdp = 0;
        uint8_t data[255] = {0x00}; 
        int dataLen = 0;
        uint8_t cmdp = 0;
@@ -522,7 +522,7 @@ int CmdLFfskSim(const char *Cmd)
                //  cmdp++;
                //  break;
                case 'd':
                //  cmdp++;
                //  break;
                case 'd':
-                       dataLen = param_getstr(Cmd, cmdp+1, hexData);
+                       dataLen = param_getstr(Cmd, cmdp+1, hexData, sizeof(hexData));
                        if (dataLen==0) {
                                errors=true; 
                        } else {
                        if (dataLen==0) {
                                errors=true; 
                        } else {
@@ -593,7 +593,7 @@ int CmdLFaskSim(const char *Cmd)
        uint8_t encoding = 1, separator = 0;
        uint8_t clk=0, invert=0;
        bool errors = false;
        uint8_t encoding = 1, separator = 0;
        uint8_t clk=0, invert=0;
        bool errors = false;
-       char hexData[32] = {0x00}; 
+       char hexData[64] = {0x00}; 
        uint8_t data[255]= {0x00}; // store entered hex data
        int dataLen = 0;
        uint8_t cmdp = 0;
        uint8_t data[255]= {0x00}; // store entered hex data
        int dataLen = 0;
        uint8_t cmdp = 0;
@@ -628,7 +628,7 @@ int CmdLFaskSim(const char *Cmd)
                        cmdp++;
                        break;
                case 'd':
                        cmdp++;
                        break;
                case 'd':
-                       dataLen = param_getstr(Cmd, cmdp+1, hexData);
+                       dataLen = param_getstr(Cmd, cmdp+1, hexData, sizeof(hexData));
                        if (dataLen==0) {
                                errors=true; 
                        } else {
                        if (dataLen==0) {
                                errors=true; 
                        } else {
@@ -687,7 +687,7 @@ int CmdLFpskSim(const char *Cmd)
        uint8_t carrier=0, clk=0;
        uint8_t invert=0;
        bool errors = false;
        uint8_t carrier=0, clk=0;
        uint8_t invert=0;
        bool errors = false;
-       char hexData[32] = {0x00}; // store entered hex data
+       char hexData[64] = {0x00}; // store entered hex data
        uint8_t data[255] = {0x00}; 
        int dataLen = 0;
        uint8_t cmdp = 0;
        uint8_t data[255] = {0x00}; 
        int dataLen = 0;
        uint8_t cmdp = 0;
@@ -723,7 +723,7 @@ int CmdLFpskSim(const char *Cmd)
                        cmdp++;
                        break;
                case 'd':
                        cmdp++;
                        break;
                case 'd':
-                       dataLen = param_getstr(Cmd, cmdp+1, hexData);
+                       dataLen = param_getstr(Cmd, cmdp+1, hexData, sizeof(hexData));
                        if (dataLen==0) {
                                errors=true; 
                        } else {
                        if (dataLen==0) {
                                errors=true; 
                        } else {
@@ -945,7 +945,7 @@ int CmdLFfind(const char *Cmd)
                                PrintAndLog("\nValid EM4x05/EM4x69 Chip Found\nUse lf em 4x05readword/dump commands to read\n");
                                return 1;
                        }
                                PrintAndLog("\nValid EM4x05/EM4x69 Chip Found\nUse lf em 4x05readword/dump commands to read\n");
                                return 1;
                        }
-                       ans=CmdLFHitagReader("26");
+                       ans=CmdLFHitagReader("26"); // 26 = RHT2F_UID_ONLY
                        if (ans==0) {
                                return 1;
                        }
                        if (ans==0) {
                                return 1;
                        }
Impressum, Datenschutz