]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdlft55xx.c
Update cmdlft55xx.c
[proxmark3-svn] / client / cmdlft55xx.c
index 25df4c7617bfefc639558b20f13eb2f323cbbe9c..da8fc703281281d996119f034ccdaffc2367083f 100644 (file)
@@ -67,8 +67,8 @@ int usage_t55xx_read(){
        PrintAndLog("     p <password> - OPTIONAL password (8 hex characters)");\r
        PrintAndLog("     o            - OPTIONAL override safety check");\r
        PrintAndLog("     1            - OPTIONAL read Page 1 instead of Page 0");\r
-       PrintAndLog("     e <mode>     - OPTIONAL downlink encoding '0' fixed-bit-length (default), '1' Long Zero Reference"); \r
-       PrintAndLog("                                               '2' Leading Zero,               '3' 1 of 4 "); \r
+       PrintAndLog("     e <mode>     - OPTIONAL downlink encoding '0' fixed bit length (default), '1' long leading reference");\r
+       PrintAndLog("                                               '2' leading zero,               '3' 1 of 4 coding reference"); \r
        PrintAndLog("     ****WARNING****");\r
        PrintAndLog("     Use of read with password on a tag not configured for a pwd");\r
        PrintAndLog("     can damage the tag");\r
@@ -88,8 +88,8 @@ int usage_t55xx_write(){
        PrintAndLog("     p <password> - OPTIONAL password 4bytes (8 hex characters)");\r
        PrintAndLog("     1            - OPTIONAL write Page 1 instead of Page 0");\r
        PrintAndLog("     t            - OPTIONAL test mode write - ****DANGER****");   \r
-       PrintAndLog("     e <mode>     - OPTIONAL downlink encoding '0' fixed-bit-length (default), '1' Long Zero Reference"); \r
-       PrintAndLog("                                               '2' Leading Zero,               '3' 1 of 4 "); \r
+       PrintAndLog("     e <mode>     - OPTIONAL downlink encoding '0' fixed bit length (default), '1' long leading reference");\r
+       PrintAndLog("                                               '2' leading zero,               '3' 1 of 4 coding reference"); \r
        PrintAndLog("");\r
        PrintAndLog("Examples:");\r
        PrintAndLog("      lf t55xx write b 3 d 11223344            - write 11223344 to block 3");\r
@@ -136,8 +136,8 @@ int usage_t55xx_detect(){
        PrintAndLog("Options:");\r
        PrintAndLog("     1             - if set, use Graphbuffer otherwise read data from tag.");\r
        PrintAndLog("     p <password>  - OPTIONAL password (8 hex characters)");\r
-       PrintAndLog("     e <mode>     - OPTIONAL downlink encoding '0' fixed-bit-length (default), '1' Long Zero Reference");\r
-       PrintAndLog("                                               '2' Leading Zero,               '3' 1 of 4 "); \r
+       PrintAndLog("     e <mode>      - OPTIONAL downlink encoding '0' fixed bit length (default), '1' long leading reference");\r
+       PrintAndLog("                                                '2' leading zero,               '3' 1 of 4 coding reference"); \r
        PrintAndLog("");\r
        PrintAndLog("Examples:");\r
        PrintAndLog("      lf t55xx detect");\r
@@ -196,9 +196,10 @@ int usage_t55xx_bruteforce_downlink(){
        PrintAndLog("Options:");\r
        PrintAndLog("     h                         - this help");\r
        PrintAndLog("     r <start_pwd> <end_pwd>   - 4 byte hex value to start and end pwd search at");\r
-       PrintAndLog("     i <*.dic>                             - loads a default keys dictionary file <*.dic>");\r
-       PrintAndLog("     e <mode>                              - OPTIONAL downlink encoding '0' fixed-bit-length (default), '1' Long Zero Reference"); \r
-       PrintAndLog("                                                            '2' Leading Zero,               '3' 1 of 4 "); \r
+       PrintAndLog("     i <*.dic>                 - loads a default keys dictionary file <*.dic>");\r
+       PrintAndLog("     e <mode>                  - OPTIONAL downlink encoding '0' fixed bit length (default)"); \r
+       PrintAndLog("                                  '1' long leading reference,  '2' leading zero ");\r
+       PrintAndLog("                                  '3' 1 of 4 coding reference, '4' special - try all downlink modes");\r
        PrintAndLog("");\r
        PrintAndLog("Examples:");\r
        PrintAndLog("       lf t55xx bruteforce aaaaaaaa bbbbbbbb");\r
@@ -1634,8 +1635,6 @@ int CmdT55xxBruteForce_downlink(const char *Cmd) {
        keyBlock = calloc(stKeyBlock, 6);\r
        if (keyBlock == NULL) return 1;\r
 \r
-       PrintAndLog("New Downlink Supprt");\r
-\r
        while(param_getchar(Cmd, cmdp) != 0x00 && !errors) {\r
                switch(param_getchar(Cmd, cmdp)) {\r
                case 'h':\r
@@ -1648,7 +1647,6 @@ int CmdT55xxBruteForce_downlink(const char *Cmd) {
                                        if (downlink_mode > 3) downlink_mode = 0;\r
                                        cmdp +=2;\r
                                        cmd_offset += 4;\r
-                                       PrintAndLog ("DL Mode : %d",downlink_mode);\r
                                        break;\r
                case 'i':\r
                case 'I':\r
@@ -1660,8 +1658,11 @@ int CmdT55xxBruteForce_downlink(const char *Cmd) {
                                        len = strlen(Cmd+2);\r
                                        if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;\r
                                        memcpy(filename, Cmd+cmd_offset+2, len);\r
+                                       // Drop any characters after space\r
+                                       char *p = strstr(filename," ");\r
+                                       if (p) *p = 0;\r
                                        cmdp += 2;\r
-               //                      PrintAndLog (" File : [%s]",filename);\r
+                                       // PrintAndLog (" File : [%s]",filename);\r
                                        break;\r
                case 'r':\r
                case 'R':\r
@@ -1669,12 +1670,11 @@ int CmdT55xxBruteForce_downlink(const char *Cmd) {
                                                PrintAndLog ("use Range or File");\r
                                                return 0;\r
                                        }\r
-                                       use_range       = true; // = param_get32ex(Cmd, cmdp+1, 0, 16);\r
+                                       use_range       = true; \r
                                        start_password  = param_get32ex(Cmd, cmdp+1, 0, 16);\r
                                        end_password    = param_get32ex(Cmd, cmdp+2, 0, 16);\r
                                        cmdp += 3;\r
-                                       cmd_offset += 20; // 8 + 8 + 1 + 1 + 1\r
-               //                      PrintAndLog (" Range : [%0X] - [%0X]",start_password,end_password);\r
+                                       cmd_offset += 20; \r
                                        break;\r
                default:\r
                        PrintAndLog("Unknown parameter '%c'", param_getchar(Cmd, cmdp));\r
@@ -1683,9 +1683,6 @@ int CmdT55xxBruteForce_downlink(const char *Cmd) {
                }\r
        }\r
 \r
-\r
-//     if (cmdp == 'i' || cmdp == 'I') {\r
-\r
        if (use_file)\r
        {\r
                                FILE * f = fopen( filename , "r");\r
@@ -1752,7 +1749,7 @@ int CmdT55xxBruteForce_downlink(const char *Cmd) {
 \r
                        PrintAndLog("Testing %08X", testpwd);\r
             \r
-                       // Try each downlink_mode of asked to \r
+                       // Try each downlink_mode if asked to \r
                        // donwlink_mode will = 0 if > 3 or set to 0, so loop from 0 - 3\r
                        for (dl_mode = downlink_mode; dl_mode <= 3; dl_mode++)\r
                        {\r
@@ -1767,7 +1764,7 @@ int CmdT55xxBruteForce_downlink(const char *Cmd) {
                                if ( found ) {\r
                                        PrintAndLog("Found valid password: [%08X]", testpwd);\r
                                        free(keyBlock);\r
-                                                       // Add downlink mode to reference.\r
+                                       // Add downlink mode for reference.\r
                                        switch (dl_mode) {\r
                                                case  0 :       PrintAndLog ("Downlink   : e 0 - Default/Fixed Bit Length"); break;\r
                                                case  1 :   PrintAndLog ("Downlink   : e 1 - Long Leading Reference"); break;\r
@@ -1787,9 +1784,6 @@ int CmdT55xxBruteForce_downlink(const char *Cmd) {
 \r
        if (use_range)\r
        {\r
-               // incremental pwd range search\r
-       //      start_password = param_get32ex(Cmd, 0, 0, 16);\r
-       //      end_password = param_get32ex(Cmd, 1, 0, 16);\r
 \r
                if ( start_password >= end_password ) {\r
                        free(keyBlock);\r
@@ -1826,7 +1820,7 @@ int CmdT55xxBruteForce_downlink(const char *Cmd) {
        \r
                if (found) {\r
                        PrintAndLog("Found valid password: [%08x]", i);\r
-                                       // Add downlink mode to reference.\r
+                       // Add downlink mode for reference.\r
                        switch (downlink_mode) {\r
                                case  0 :       PrintAndLog ("Downlink   : e 0 - Default/Fixed Bit Length"); break;\r
                                case  1 :   PrintAndLog ("Downlink   : e 1 - Long Leading Reference"); break;\r
Impressum, Datenschutz