Remove ceg

This commit is contained in:
Diavolo 2022-05-27 14:15:03 +02:00
parent 9974d0a71a
commit aef820179c
No known key found for this signature in database
GPG Key ID: FA77F074E98D98A5
6 changed files with 61 additions and 2 deletions

View File

@ -108,6 +108,7 @@ namespace Components
Loader::Register(new Branding()); Loader::Register(new Branding());
Loader::Register(new RawMouse()); Loader::Register(new RawMouse());
Loader::Register(new Bullet()); Loader::Register(new Bullet());
Loader::Register(new Ceg());
Loader::Pregame = false; Loader::Pregame = false;
} }

View File

@ -139,3 +139,4 @@ namespace Components
#include "Modules/Branding.hpp" #include "Modules/Branding.hpp"
#include "Modules/RawMouse.hpp" #include "Modules/RawMouse.hpp"
#include "Modules/Bullet.hpp" #include "Modules/Bullet.hpp"
#include "Modules/Ceg.hpp"

View File

@ -0,0 +1,47 @@
#include <STDInclude.hpp>
namespace Components
{
Ceg::Ceg()
{
Utils::Hook::Signature signature(0x401000, 0x740000);
// Generic killer caller.
signature.add({
"\x56\x8B\x00\x24\x0c\x85\xF6\x7F\x0E", "xx?xxxxxx", [](char* address)
{
Utils::Hook::Set<BYTE>(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);
// Other checks
Utils::Hook::Set<DWORD>(0x401000, 0xC301B0);
Utils::Hook::Set<DWORD>(0x45F8B0, 0xC301B0);
Utils::Hook::Set<DWORD>(0x46FAE0, 0xC301B0);
// Removed in 159 SP binaries
Utils::Hook::Nop(0x46B173, 9);
Utils::Hook::Nop(0x43CA16, 9);
Utils::Hook::Nop(0x505426, 9);
// Something useless that can be skipped
Utils::Hook::Nop(0x4BB671, 2);
Utils::Hook::Nop(0x40A54D, 2);
// 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);
}
}

View File

@ -0,0 +1,10 @@
#pragma once
namespace Components
{
class Ceg : public Component
{
public:
Ceg();
};
}

View File

@ -39,7 +39,7 @@ namespace Utils
} }
} }
void Hook::Signature::add(Hook::Signature::Container& container) void Hook::Signature::add(const Hook::Signature::Container& container)
{ {
Hook::Signature::signatures.push_back(container); Hook::Signature::signatures.push_back(container);
} }

View File

@ -23,7 +23,7 @@ namespace Utils
Signature() : Signature(0x400000, 0x800000) {} Signature() : Signature(0x400000, 0x800000) {}
void process(); void process();
void add(Container& container); void add(const Container& container);
private: private:
void* start; void* start;