[Ceg]: Update (#554)
This commit is contained in:
parent
e96c4029b8
commit
207835be4e
@ -10,22 +10,22 @@ namespace Components
|
||||
signature.add({
|
||||
"\x56\x8B\x00\x24\x0c\x85\xF6\x7F\x0E", "xx?xxxxxx", [](char* address)
|
||||
{
|
||||
Utils::Hook::Set<BYTE>(address, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(address, 0xC3);
|
||||
}
|
||||
});
|
||||
|
||||
signature.process();
|
||||
|
||||
// Some more generic obfuscation (mov al, 1; retn)
|
||||
Utils::Hook::Set<DWORD>(0x471B20, 0xC301B0);
|
||||
Utils::Hook::Set<DWORD>(0x43A070, 0xC301B0);
|
||||
Utils::Hook::Set<DWORD>(0x4C8B30, 0xC301B0);
|
||||
Utils::Hook::Set<DWORD>(0x469340, 0xC301B0);
|
||||
Utils::Hook::Set<std::uint32_t>(0x471B20, 0xC301B0);
|
||||
Utils::Hook::Set<std::uint32_t>(0x43A070, 0xC301B0);
|
||||
Utils::Hook::Set<std::uint32_t>(0x4C8B30, 0xC301B0);
|
||||
Utils::Hook::Set<std::uint32_t>(0x469340, 0xC301B0);
|
||||
|
||||
// Other checks
|
||||
Utils::Hook::Set<DWORD>(0x401000, 0xC301B0);
|
||||
Utils::Hook::Set<DWORD>(0x45F8B0, 0xC301B0);
|
||||
Utils::Hook::Set<DWORD>(0x46FAE0, 0xC301B0);
|
||||
Utils::Hook::Set<std::uint32_t>(0x401000, 0xC301B0);
|
||||
Utils::Hook::Set<std::uint32_t>(0x45F8B0, 0xC301B0);
|
||||
Utils::Hook::Set<std::uint32_t>(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<BYTE>(0x499F90, 0xC3);
|
||||
Utils::Hook::Set<BYTE>(0x4FC700, 0xC3);
|
||||
Utils::Hook::Set<BYTE>(0x4C4170, 0xC3);
|
||||
Utils::Hook::Set<BYTE>(0x49E8C0, 0xC3);
|
||||
Utils::Hook::Set<BYTE>(0x42DB00, 0xC3);
|
||||
Utils::Hook::Set<BYTE>(0x4F4CF0, 0xC3);
|
||||
Utils::Hook::Set<BYTE>(0x432180, 0xC3);
|
||||
Utils::Hook::Set<BYTE>(0x461930, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(0x499F90, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(0x4FC700, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(0x4C4170, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(0x49E8C0, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(0x42DB00, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(0x4F4CF0, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(0x432180, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(0x461930, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(0x430410, 0xC3);
|
||||
|
||||
// Used next to file system functions
|
||||
Utils::Hook::Set<BYTE>(0x47BC00, 0xC3);
|
||||
Utils::Hook::Set<std::uint8_t>(0x47BC00, 0xC3);
|
||||
|
||||
// Looking for stuff in the registry
|
||||
Utils::Hook::Nop(0x4826F8, 5);
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -355,7 +355,7 @@ namespace Components
|
||||
Utils::Hook::Set<BYTE>(0x49C220, 0xC3); // We wanted to send a logging packet, but we haven't connected to LSP!
|
||||
Utils::Hook::Set<BYTE>(0x4BD900, 0xC3); // main LSP response func
|
||||
Utils::Hook::Set<BYTE>(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<BYTE>(0x47DCB3, 0xEB);
|
||||
@ -446,11 +446,6 @@ namespace Components
|
||||
// default sv_pure to 0
|
||||
Utils::Hook::Set<BYTE>(0x4D3A74, 0);
|
||||
|
||||
// Force debug logging
|
||||
Utils::Hook::Set<BYTE>(0x60AE4A, 1);
|
||||
//Utils::Hook::Nop(0x60AE49, 8);
|
||||
//Utils::Hook::Set<BYTE>(0x6FF53C, 0);
|
||||
|
||||
// remove activeAction execution (exploit in mods)
|
||||
Utils::Hook::Set<BYTE>(0x5A1D43, 0xEB);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user