From 207835be4ea1a17bbbebf899c07f710e9b6759d5 Mon Sep 17 00:00:00 2001 From: Edo Date: Tue, 8 Nov 2022 00:19:17 +0000 Subject: [PATCH] [Ceg]: Update (#554) --- src/Components/Modules/Ceg.cpp | 35 +++++++++++++------------ src/Components/Modules/Localization.cpp | 17 +++++------- src/Components/Modules/QuickPatch.cpp | 7 +---- 3 files changed, 26 insertions(+), 33 deletions(-) diff --git a/src/Components/Modules/Ceg.cpp b/src/Components/Modules/Ceg.cpp index 92c7de94..ad5b21cc 100644 --- a/src/Components/Modules/Ceg.cpp +++ b/src/Components/Modules/Ceg.cpp @@ -10,22 +10,22 @@ namespace Components signature.add({ "\x56\x8B\x00\x24\x0c\x85\xF6\x7F\x0E", "xx?xxxxxx", [](char* address) { - Utils::Hook::Set(address, 0xC3); + Utils::Hook::Set(address, 0xC3); } }); signature.process(); // Some more generic obfuscation (mov al, 1; retn) - Utils::Hook::Set(0x471B20, 0xC301B0); - Utils::Hook::Set(0x43A070, 0xC301B0); - Utils::Hook::Set(0x4C8B30, 0xC301B0); - Utils::Hook::Set(0x469340, 0xC301B0); + Utils::Hook::Set(0x471B20, 0xC301B0); + Utils::Hook::Set(0x43A070, 0xC301B0); + Utils::Hook::Set(0x4C8B30, 0xC301B0); + Utils::Hook::Set(0x469340, 0xC301B0); // Other checks - Utils::Hook::Set(0x401000, 0xC301B0); - Utils::Hook::Set(0x45F8B0, 0xC301B0); - Utils::Hook::Set(0x46FAE0, 0xC301B0); + Utils::Hook::Set(0x401000, 0xC301B0); + Utils::Hook::Set(0x45F8B0, 0xC301B0); + Utils::Hook::Set(0x46FAE0, 0xC301B0); // Removed in 159 SP binaries Utils::Hook::Nop(0x46B173, 9); @@ -38,17 +38,18 @@ namespace Components Utils::Hook::Nop(0x405A36, 9); // Random checks scattered throughout the binary - Utils::Hook::Set(0x499F90, 0xC3); - Utils::Hook::Set(0x4FC700, 0xC3); - Utils::Hook::Set(0x4C4170, 0xC3); - Utils::Hook::Set(0x49E8C0, 0xC3); - Utils::Hook::Set(0x42DB00, 0xC3); - Utils::Hook::Set(0x4F4CF0, 0xC3); - Utils::Hook::Set(0x432180, 0xC3); - Utils::Hook::Set(0x461930, 0xC3); + Utils::Hook::Set(0x499F90, 0xC3); + Utils::Hook::Set(0x4FC700, 0xC3); + Utils::Hook::Set(0x4C4170, 0xC3); + Utils::Hook::Set(0x49E8C0, 0xC3); + Utils::Hook::Set(0x42DB00, 0xC3); + Utils::Hook::Set(0x4F4CF0, 0xC3); + Utils::Hook::Set(0x432180, 0xC3); + Utils::Hook::Set(0x461930, 0xC3); + Utils::Hook::Set(0x430410, 0xC3); // Used next to file system functions - Utils::Hook::Set(0x47BC00, 0xC3); + Utils::Hook::Set(0x47BC00, 0xC3); // Looking for stuff in the registry Utils::Hook::Nop(0x4826F8, 5); diff --git a/src/Components/Modules/Localization.cpp b/src/Components/Modules/Localization.cpp index 845b1aa9..2db40173 100644 --- a/src/Components/Modules/Localization.cpp +++ b/src/Components/Modules/Localization.cpp @@ -135,16 +135,13 @@ namespace Components void Localization::LoadLanguageStrings() { - //if (ZoneBuilder::IsEnabled()) + if (FileSystem::File(Utils::String::VA("localizedstrings/iw4x_%s.str", Game::Win_GetLanguage())).exists()) { - if (FileSystem::File(Utils::String::VA("localizedstrings/iw4x_%s.str", Game::Win_GetLanguage())).exists()) - { - Game::SE_Load(Utils::String::VA("localizedstrings/iw4x_%s.str", Game::Win_GetLanguage()), 0); - } - else if (FileSystem::File("localizedstrings/iw4x_english.str").exists()) - { - Game::SE_Load("localizedstrings/iw4x_english.str", 0); - } + Game::SE_Load(Utils::String::VA("localizedstrings/iw4x_%s.str", Game::Win_GetLanguage()), 0); + } + else if (FileSystem::File("localizedstrings/iw4x_english.str").exists()) + { + Game::SE_Load("localizedstrings/iw4x_english.str", 0); } } @@ -434,7 +431,7 @@ namespace Components std::string key = Utils::String::VA("CLASS_SLOT%i", i); std::string value = asset.localize->value; - Utils::String::Replace(value, "1", Utils::String::VA("%i", i)); // Pretty ugly, but it should work + Utils::String::Replace(value, "1", std::to_string(i)); // Pretty ugly, but it should work Localization::Set(key, value); } diff --git a/src/Components/Modules/QuickPatch.cpp b/src/Components/Modules/QuickPatch.cpp index 4d7d7971..070c83c9 100644 --- a/src/Components/Modules/QuickPatch.cpp +++ b/src/Components/Modules/QuickPatch.cpp @@ -355,7 +355,7 @@ namespace Components Utils::Hook::Set(0x49C220, 0xC3); // We wanted to send a logging packet, but we haven't connected to LSP! Utils::Hook::Set(0x4BD900, 0xC3); // main LSP response func Utils::Hook::Set(0x682170, 0xC3); // Telling LSP that we're playing a private match - Utils::Hook::Nop(0x4FD448, 5); // Don't create lsp_socket + Utils::Hook::Nop(0x4FD448, 5); // Don't create lsp_socket // Don't delete config files if corrupted Utils::Hook::Set(0x47DCB3, 0xEB); @@ -446,11 +446,6 @@ namespace Components // default sv_pure to 0 Utils::Hook::Set(0x4D3A74, 0); - // Force debug logging - Utils::Hook::Set(0x60AE4A, 1); - //Utils::Hook::Nop(0x60AE49, 8); - //Utils::Hook::Set(0x6FF53C, 0); - // remove activeAction execution (exploit in mods) Utils::Hook::Set(0x5A1D43, 0xEB);