#define BASE_CLIENT 0x00400000
#define BASE_ADDRESS BASE_CLIENT+0x00E6B42C
#define OFFSET1 0x2C
#define OFFSET2 0xE0
#define OFFSET3 0x1C
#define OFFSET4 0x354
#define OFFSET5 0x130
for(;;Sleep(20000))
{
*(int*) *( *( *( *( *( (DWORD*****) BASE_ADDRESS + OFFSET1 ) + OFFSET2) + OFFSET3) + OFFSET4) + OFFSET5) = 0;
}
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#define BASE_ADDRESS 0x00E6B42C
#define OFFSET5 0x2C
#define OFFSET4 0xE0
#define OFFSET3 0x1C
#define OFFSET2 0x354
#define OFFSET1 0x130
LPTSTR ModulGame = "client.exe";
void Patch(void *adr, void *ptr, int size)
{
DWORD OldProtection;
VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection);
memcpy(adr,ptr,size);
VirtualProtect(adr,size,OldProtection, &OldProtection);
}
DWORD WINAPI MemPacth(LPVOID param)
{
int __stdcall HACK(void)
{
DWORD base = (DWORD)GetModuleHandleA("client.exe") + (DWORD)BASE_ADDRESS;;
DWORD Pointer0 = *(PDWORD)((DWORD)(base))+(DWORD)OFFSET1;
DWORD Pointer1 = *(PDWORD)((DWORD)(Pointer0))+(DWORD)OFFSET2;
DWORD Pointer2 = *(PDWORD)((DWORD)(Pointer1))+(DWORD)OFFSET3;
DWORD Pointer3 = *(PDWORD)((DWORD)(Pointer2))+(DWORD)OFFSET4;
DWORD Pointer4 = *(PDWORD)((DWORD)(Pointer3))+(DWORD)OFFSET5;
Patch((void *)(Pointer4),(void*)(PBYTE)"\x00\x00\x00\x00",4);// IF U WANT CHANGE VALUE TO 0
return 0;
ExitThread(0);
}
while (1) {
if (GetAsyncKeyState(VK_F3)&1) {
MessageBeep(MB_ICONINFORMATION);
HACK();
}
Sleep(5);
}
return (0);
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
if (dwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hDll);
if(dwReason == DLL_PROCESS_ATTACH){
MessageBox(0, "CONTENT INFO", "CAPTION", MB_OK + MB_ICONINFORMATION );
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)MemPacth, 0, 0, 0);
char strDLLName [_MAX_PATH];
GetModuleFileName(hDll, strDLLName , _MAX_PATH);
if (strstr(strDLLName, "yourname.dll") <= 0) {
LPTSTR ModulGame = "client.exe";
}
}
else if(dwReason == DLL_PROCESS_DETACH)
{
}
}
return TRUE;
}
DWORD pointer = { 0x00E6B42C };
DWORD offsets[] = { 0x130, 0x354, 0x1C, 0xE0, 0x2C };
ReadProcessMemory(handle, (LPCVOID)pointer, &pointer, sizeof(pointer), 0);
pointer += offset[0];
ReadProcessMemory(handle, (LPCVOID)pointer, &pointer, sizeof(pointer), 0);
pointer += offset[1];
ReadProcessMemory(handle, (LPCVOID)pointer, &pointer, sizeof(pointer), 0);
pointer += offset[2];
ReadProcessMemory(handle, (LPCVOID)pointer, &pointer, sizeof(pointer), 0);
pointer += offset[3];
ReadProcessMemory(handle, (LPCVOID)pointer, &pointer, sizeof(pointer), 0);
pointer += offset[4];
ReadProcessMemory(handle, (LPCVOID)pointer, &pointer, sizeof(pointer), 0);