Following an awesome tutorial made by crx from another forum I tracked down the wallhack byte. Which is.
Code:
300296B6 |. 0D 80000000 OR EAX,80
Which needs to be changed to
Code:
300296B6 |. 0D 88000000 OR EAX,88
The second byte only needs changing so it would be 300296B7
The cgame_mp base (0x30000000) never changes so you can just use 300296B7 instead of Base + 000296B7
Putting that into a thread is easy.
PHP Code:
#include
///////GLOBALS/////////////////////
HANDLE hand = GetCurrentProcess();
BOOL bWallhack;
BYTE WH[1] = {0x88};
BYTE WHOrig[1] = {0x80};
///////////////////////////////////
DWORD WINAPI WHThread(LPVOID)
{
for(;; Sleep(500))
{
if(GetAsyncKeyState(VK_NUMPAD1))
{
if(bWallhack == FALSE)
{
WriteProcessMemory(hand, (void*)(0x300296B7), &WH, 1, 0);
bWallhack=TRUE;
}
else
{
WriteProcessMemory(hand, (void*)(0x300296B7), &WHOrig, 1, 0);
bWallhack=FALSE;
}
}
}
return 0;
}
BOOL WINAPI DllMain (HINSTANCE hModule, DWORD dwReason, LPVOID lpvReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(NULL, NULL, WHThread, NULL, NULL, NULL);
}
return -1;
}