Bom, vou postar uma base simples que eu fiz para o jogo Assault Cube
A print é antiga, mas a base está atualizada
adress.h
class.h
funcs.h
main.cpp
A print é antiga, mas a base está atualizada
adress.h
- Código:
// Credits luislokao98 ( Coder.Fail )
#include <windows.h>
#include <stdio.h>
#include <vector>
DWORD AC_CLIENT = (DWORD)GetModuleHandleA("ac_client.exe");
#define UnlimitedAmmo 0x4637E9 // FF 0E
#define SuperRapidFire 0x4637E4 // 89 0A
#define UnlimitedNades 0x463378 // FF 08
#define Pointer 0x109B74
#define PlayerByIndex 0x50F4F4
#define TraceLine 0x48A1D0
class.h
- Código:
// Credits luislokao98 ( Coder.Fail )
#include "adress.h"
class cPlayerInfo
{
public:
char _0x0000[4];
float PosX; //0x0004
float PosZ; //0x0008
float PosY; //0x000C
float SpeedHacker1; //0x0010
float SpeedHacker2; //0x0014
float SuperJump; //0x0018
char _0x001C[24];
float TelePort1; //0x0034
float TelePort2; //0x0038
float VirtualFly; //0x003C
float Yaw; //0x0040
float Pitch; //0x0044
char _0x0048[120];
};//Size=0x00C0
class cPlayerTable
{
public:
cPlayerInfo *player[32]; //0x0000
char _0x0004[124];
};//Size=0x0080
funcs.h
- Código:
// Credits luislokao98 ( Coder.Fail )
#include "class.h"
VOID KeyAdd( int &var, int Key )
{
if (GetAsyncKeyState(Key)&1) var =! var;
}
main.cpp
- Código:
// Credits luislokao98 ( Coder.Fail )
#include "funcs.h"
cPlayerTable* pPlayerTable = *(cPlayerTable**)(PlayerByIndex);
cPlayerInfo * pPlayer = *(cPlayerInfo**)(PlayerByIndex);
int superjump, flyhack, UnlimitedHealth, UnlimitedWaistcoat, speedhacker, Kill;
VOID Funcs()
{
KeyAdd(superjump, VK_NUMPAD1);
KeyAdd(flyhack, VK_NUMPAD2);
KeyAdd(speedhacker, VK_NUMPAD3);
if ( UnlimitedHealth )
{
*(DWORD*)(*(DWORD*)(*(DWORD*)(*(DWORD*)(AC_CLIENT + Pointer)+0x37C)+0x8)+0xF8) = 1000;
}
if ( UnlimitedWaistcoat )
{
*(DWORD*)(*(DWORD*)(*(DWORD*)(*(DWORD*)(AC_CLIENT + Pointer)+0x37C)+0x8)+0xFC) = 1000;
}
if ( superjump )
{
if(GetAsyncKeyState(VK_SPACE)<0)
{
pPlayer->SuperJump = 10.0f;
}
}
if ( flyhack )
{
pPlayer->SuperJump = 10.0f;
}
if ( speedhacker ) // semi
{
if (GetAsyncKeyState(0x57)&1)
{
pPlayer->SpeedHacker2 = 3.0f;
}
}
}
DWORD WINAPI MyHook(LPVOID lpArgs)
{
while(true)
{
do{
__asm CALL [Funcs];
} while (!AC_CLIENT);
}
return 0;
}
BOOL WINAPI DllMain( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
if( dwReason == DLL_PROCESS_ATTACH )
{
DisableThreadLibraryCalls( hDll );
MessageBox( 0, "Simple Hook", "AssaultCube", 0 );
CreateThread( 0, 0, (LPTHREAD_START_ROUTINE)&MyHook, 0, 0, 0 );
}
return TRUE;
}