]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmddata.c
icemans lf fixes & adjustments + lf t55xx bruteforce
[proxmark3-svn] / client / cmddata.c
index ca4fcafc1ca91c324d02c78505d5d59dbdcf7db5..30546f1190da6fbb2120af5529d3dd4eacc92e32 100644 (file)
@@ -934,14 +934,14 @@ char *GetFSKType(uint8_t fchigh, uint8_t fclow, uint8_t invert)
 int FSKrawDemod(const char *Cmd, bool verbose)
 {
        //raw fsk demod  no manchester decoding no start bit finding just get binary from wave
-       //set defaults
-       int rfLen = 0;
-       int invert = 0;
-       int fchigh = 0;
-       int fclow = 0;
+       uint8_t rfLen, invert, fchigh, fclow;
 
+       //set defaults
        //set options from parameters entered with the command
-       sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow);
+       rfLen = param_get8ex(Cmd, 0, 0, 10);
+       invert = param_get8ex(Cmd, 1, 0, 10);
+       fchigh = param_get8ex(Cmd, 2, 0, 10);
+       fclow = param_get8ex(Cmd, 3, 0, 10);
 
        if (strlen(Cmd)>0 && strlen(Cmd)<=2) {
                 if (rfLen==1){
@@ -955,34 +955,34 @@ int FSKrawDemod(const char *Cmd, bool verbose)
        if (BitLen==0) return 0;
        //get field clock lengths
        uint16_t fcs=0;
-       if (fchigh==0 || fclow == 0){
+       if (!fchigh || !fclow) {
                fcs = countFC(BitStream, BitLen, 1);
-               if (fcs==0){
-                       fchigh=10;
-                       fclow=8;
-               }else{
-                       fchigh = (fcs >> 8) & 0xFF;
-                       fclow = fcs & 0xFF;
+               if (!fcs) {
+                       fchigh = 10;
+                       fclow = 8;
+               } else {
+                       fchigh = (fcs >> 8) & 0x00FF;
+                       fclow = fcs & 0x00FF;
                }
        }
        //get bit clock length
-       if (rfLen==0){
+       if (!rfLen){
                rfLen = detectFSKClk(BitStream, BitLen, fchigh, fclow);
-               if (rfLen == 0) rfLen = 50;
+               if (!rfLen) rfLen = 50;
        }
-       int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow);
-       if (size>0){
+       int size = fskdemod(BitStream, BitLen, rfLen, invert, fchigh, fclow);
+       if (size > 0){
                setDemodBuf(BitStream,size,0);
 
                // Now output the bitstream to the scrollback by line of 16 bits
                if (verbose || g_debugMode) {
-                       PrintAndLog("\nUsing Clock:%d, invert:%d, fchigh:%d, fclow:%d", rfLen, invert, fchigh, fclow);
+                       PrintAndLog("\nUsing Clock:%u, invert:%u, fchigh:%u, fclow:%u", rfLen, invert, fchigh, fclow);
                        PrintAndLog("%s decoded bitstream:",GetFSKType(fchigh,fclow,invert));
                        printDemodBuff();
                }
 
                return 1;
-       } else{
+       } else {
                if (g_debugMode) PrintAndLog("no FSK data found");
        }
        return 0;
Impressum, Datenschutz