Blame | Last modification | View Log | RSS feed
#pragma once
#include <windows.h>
#include "resource.h"
#include <strsafe.h> /* For ErrorExit() */
#include <Psapi.h> /* For EnumProcesses() */
#include <iostream> /* For std::wstring */
#if DEBUG_BUILD
#define DLL_FILENAME "WowD.dll"
#define DLL_RESOURCEID IDR_DLL2
#else
#define DLL_FILENAME "WoW.dll"
#define DLL_RESOURCEID IDR_DLL1
#endif
struct ClientVersion
{
int m_major;
int m_minor;
int m_revision;
int m_build;
};
LPCSTR GetWowClientFileName()
{
/* The client name differs depending on the build type and version */
#ifdef BUILDVERSION_CL
LPCSTR fileName = "WoW.exe";
#elif _WIN64
LPCSTR fileName = "Wow-64.exe";
#else
LPCSTR fileName = "Wow.exe";
#endif
return fileName;
};
ClientVersion GetGmClientVersion () {
ClientVersion version = {};
version.m_major = 3;
version.m_minor = 3;
version.m_revision = 5;
version.m_build = 12340;
return version;
}
void CheckBuildCompatibility();
BOOL EnableSeDebugPrivilege ();
void ExtractResource(const HINSTANCE hInstance, WORD resourceID, LPCSTR szFilename);
void ErrorExit(LPSTR lpszFunction);
PROCESS_INFORMATION CreateWowProcess(LPSTR lpCmdLine);
void InjectDLL(DWORD dwid);
LPSTR GetProcessNameById(DWORD processId);
HWND FindWindowByName(LPCSTR name);