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
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
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
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
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
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
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
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
}\r
}\r
\r
-\r
-// if (cmdp == 'i' || cmdp == 'I') {\r
-\r
if (use_file)\r
{\r
FILE * f = fopen( filename , "r");\r
\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
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
\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
\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