iw4x-client/src/Components/Modules/AntiCheat.hpp

44 lines
1.0 KiB
C++
Raw Normal View History

2016-08-07 10:50:04 -04:00
// Uncomment that to see if we are preventing necessary libraries from being loaded
//#define DEBUG_LOAD_LIBRARY
namespace Components
{
class AntiCheat : public Component
{
public:
AntiCheat();
~AntiCheat();
const char* GetName() { return "Component"; }; // Wrong name :P
static void CrashClient();
static void EmptyHash();
static void InitLoadLibHook();
private:
static int LastCheck;
static std::string Hash;
static void Frame();
static void PerformCheck();
static void PatchWinAPI();
static void NullSub();
static void UninstallLibHook();
static void InstallLibHook();
#ifdef DEBUG_LOAD_LIBRARY
static HANDLE LoadLibary(std::wstring library, void* callee);
static HANDLE WINAPI LoadLibaryAStub(const char* library);
static HANDLE WINAPI LoadLibaryWStub(const wchar_t* library);
#endif
static void CinematicStub();
static void SoundInitStub();
static bool EncodeInitStub(const char* param);
static Utils::Hook LoadLibHook[4];
};
}