From 937734ff7b5e44312515e4d77b69d5d9fd794d95 Mon Sep 17 00:00:00 2001 From: neru Date: Sun, 12 Apr 2026 21:09:24 -0300 Subject: [PATCH] fix: remove odd characters --- src/unlocker/dbdcrypt.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/unlocker/dbdcrypt.cpp b/src/unlocker/dbdcrypt.cpp index 129f0b7..cd73416 100644 --- a/src/unlocker/dbdcrypt.cpp +++ b/src/unlocker/dbdcrypt.cpp @@ -133,8 +133,9 @@ std::string DBDCrypt::decType2(const std::string& data, const std::string& key, for (char& c : decrypted) c = (char)((unsigned char)c + 1); - while (!decrypted.empty() && (unsigned char)decrypted.back() == 1) - decrypted.pop_back(); + decrypted.erase(std::remove(decrypted.begin(), decrypted.end(), (char)0x01), decrypted.end()); + decrypted.erase(std::remove(decrypted.begin(), decrypted.end(), (char)0x00), decrypted.end()); + for (size_t offset : {0ULL, 4ULL}) { @@ -174,8 +175,9 @@ std::string DBDCrypt::decType3(const std::string& data, const std::string& key, for (char& c : decrypted) c = (char)((unsigned char)c + 1); - while (!decrypted.empty() && (unsigned char)decrypted.back() == 1) - decrypted.pop_back(); + decrypted.erase(std::remove(decrypted.begin(), decrypted.end(), (char)0x01), decrypted.end()); + decrypted.erase(std::remove(decrypted.begin(), decrypted.end(), (char)0x00), decrypted.end()); + for (size_t offset : {0ULL, 4ULL}) {