Update cmdlft55xx.c

Fixed two bugs:  >= preventing users from testing one password (start_password=end_password) and reporting that the start password is greater than the end password.  The second issue is when the end password _is_ the correct password, the found password reported was curr -1.
This commit is contained in:
scott4290 2021-07-10 00:00:42 -04:00 committed by GitHub
commit 3634fb4091
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3301,7 +3301,7 @@ static int CmdT55xxBruteForce(const char *Cmd) {
uint32_t curr = 0; uint32_t curr = 0;
uint8_t found = 0; // > 0 if found xx1 xx downlink needed, 1 found uint8_t found = 0; // > 0 if found xx1 xx downlink needed, 1 found
if (start_password >= end_password) { if (start_password > end_password) {
PrintAndLogEx(FAILED, "Error, start larger then end password"); PrintAndLogEx(FAILED, "Error, start larger then end password");
return PM3_EINVARG; return PM3_EINVARG;
} }
@ -3331,7 +3331,10 @@ static int CmdT55xxBruteForce(const char *Cmd) {
PrintAndLogEx(NORMAL, ""); PrintAndLogEx(NORMAL, "");
if (found) { if (found) {
if (curr != end_password) {
PrintAndLogEx(SUCCESS, "Found valid password: [ " _GREEN_("%08X") " ]", curr - 1); PrintAndLogEx(SUCCESS, "Found valid password: [ " _GREEN_("%08X") " ]", curr - 1);
} else
PrintAndLogEx(SUCCESS, "Found valid password: [ " _GREEN_("%08X") " ]", curr);
T55xx_Print_DownlinkMode((found >> 1) & 3); T55xx_Print_DownlinkMode((found >> 1) & 3);
} else } else
PrintAndLogEx(WARNING, "Bruteforce failed, last tried: [ " _YELLOW_("%08X") " ]", curr); PrintAndLogEx(WARNING, "Bruteforce failed, last tried: [ " _YELLOW_("%08X") " ]", curr);