Hi brothers, Today I post my Hotkey, she's without crashing or DC.
Code:
/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Nightmare HotKey $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*/
/*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Mpgh.net $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$*/
/*********************************************************************************************************************************************************/
#include <windows.h>
#include <stdio.h>
#include <d3dx9.h>
#pragma comment( lib, "nod3dx9.lib" )
//Addresses
#define PlayerOffSet 0x00066F34
#define DeviceGame 0x009118A0
#define GlassWalls 0x0057301A
#define LTClientEXE 0x00486030
#define LTClientDLL 0x377F1D68
#define GameStatus 0x37806FC4
#define EspName1 0x373036C9
#define EspName2 0x3730374F
#define NoRecoil 0x373B1DBC
#define NoReload 0x3742E4A4
#define SuperBullets 0x37428FED
#define WeaponRange1 0x3742E729
#define WeaponRange2 0x3742EAA9
#define PlayerRandom 0x3783BC80
#define RapidFire 0x3742F1A5
unsigned int NIGHTMARE_POINTER[] = { 0xE9 };
typedef HRESULT ( WINAPI* oPresent ) ( LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion);
oPresent pPresent;
BOOL IsGameReadyForHook(VOID)
{
if(GetModuleHandle("d3d9.dll") != NULL
&& GetModuleHandle("ClientFX.fxd") != NULL
&& GetModuleHandle("CShell.dll") != NULL)
return TRUE;
return FALSE;
}
void Memoria( void* pvAddress, void* pvBuffer, size_t len )
{
if( *(BYTE*)pvAddress == *(BYTE*)pvBuffer )
return;
memcpy( ( void* )pvAddress, ( void* )pvBuffer, len );
}
bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
for(;*szMask;++szMask,++pData,++bMask)
if(*szMask=='x' && *pData!=*bMask )
return false;
return (*szMask) == NULL;
}
DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
{
for(DWORD i=0; i < dwLen; i++)
if(bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask) )
return (DWORD)(dwAddress+i);
return 0;
}
DWORD GetPointer(INT inicio)
{
DWORD *Device = ***(DWORD ****)DeviceGame;
if(Device == NULL)
return 0;
return Device[inicio];
}
void __stdcall NightmarePush( const char* cCommand)
{
void* Addr = ( void* ) LTClientEXE;
if(*(BYTE*)GameStatus == 1)
{
__asm
{
Push cCommand
call Addr
add esp, 0x4
}
}
}
int cchams, cfog, cpick, cpickx1, cnames, crecoil, cspread,cspreadx1, cfps, cweaponrange, csuperbullets, crapidfire;
void Main(void)
{
if (GetAsyncKeyState(VK_NUMPAD1)&1) cfog = !cfog;
if (cfog)
NightmarePush("FogEnable 0.0");
else
NightmarePush("FogEnable 1.0");
if (GetAsyncKeyState(VK_NUMPAD2)&1) cchams = !cchams;
if (cchams)
NightmarePush("SkelModelStencil 1.0");
else
NightmarePush("SkelModelStencil 0.0");
if (GetAsyncKeyState(VK_NUMPAD3)&1) cpick = !cpick;
if(cpick && !cpickx1) {
NightmarePush("ActivationDistance 99999.0");
cpickx1 = 1;
} else if(!cpick && cpickx1) {
NightmarePush("ActivationDistance 100.0");
cpickx1 = 0;
}
if (GetAsyncKeyState(VK_NUMPAD4)&1) cspread = !cspread;
if(cspread && !cspreadx1) {
NightmarePush("PerturbRotationEffect 0.000000" );
NightmarePush("PerturbIncreaseSpeed 0.000000" );
NightmarePush("PerturbWalkPercent 0.000000" );
NightmarePush("PerturbFiringIncreaseSpeed 0.000000" );
NightmarePush("PerturbRecoil 0.000000" );
NightmarePush("FireMovePerturb 0.000000" );
NightmarePush("ZoomedFireMoveDuckPerturb 0.000000" );
NightmarePush("ZoomedFireMovePerturb 0.000000" );
NightmarePush("ZoomedFireDuckPerturb 0.000000" );
cspreadx1 = 1;
} else if(!cspread && cspreadx1) {
NightmarePush("PerturbRotationEffect 3.000000" );
NightmarePush("PerturbIncreaseSpeed 3.000000" );
NightmarePush("PerturbWalkPercent 9.000000" );
NightmarePush("PerturbFiringIncreaseSpeed 0.500000" );
NightmarePush("PerturbRecoil 9.000000" );
NightmarePush("FireMovePerturb 9.000000" );
NightmarePush("ZoomedFireMoveDuckPerturb 9.000000" );
NightmarePush("ZoomedFireMovePerturb 9.000000" );
NightmarePush("ZoomedFireDuckPerturb 9.000000" );
cspreadx1 = 0;
}
if (GetAsyncKeyState(VK_NUMPAD5)&1) cfps = !cfps;
if(cfps)
NightmarePush("ShowFps 1.0");
else
NightmarePush("ShowFps 0.0");
if (GetAsyncKeyState(VK_NUMPAD6)&1)
cnames = !cnames;
if((*(BYTE *)GameStatus == 1) && cnames) {
memcpy((void *)EspName1, (void *)(PBYTE)"\x90\x90", 2);
memcpy((void *)EspName2, (void *)(PBYTE)"\x90\x90", 2);
} else {
memcpy((void *)EspName1, (void *)(PBYTE)"\x75\x05", 2);
memcpy((void *)EspName2, (void *)(PBYTE)"\x75\x05", 2);
}
if (GetAsyncKeyState(VK_NUMPAD7)&1)
crecoil = !crecoil;
if ((*(BYTE *)GameStatus == 1) && crecoil) {
memcpy((void *)NoRecoil, (void *)(PBYTE)"\x90\x90\x90\x90", 4);
} else {
memcpy((void *)NoRecoil, (void *)(PBYTE)"\xD9\x44\x24\x14", 4);
}
if (GetAsyncKeyState(VK_NUMPAD8)&1)
cweaponrange = !cweaponrange;
if((*(BYTE *)GameStatus == 1) && cweaponrange) {
memcpy((void *)WeaponRange1, (void *)(PBYTE *)"\xB8\x00\x00\x00\x10\x90", 6);
memcpy((void *)WeaponRange2, (void *)(PBYTE *)"\xB8\x00\x00\x00\x10\x90", 6);
} else {
memcpy((void *)WeaponRange1, (void *)(PBYTE *)"\x8B\x80\xC8\x02\x00\x00", 6);
memcpy((void *)WeaponRange2, (void *)(PBYTE *)"\x8B\x80\xC8\x02\x00\x00", 6);
}
if (GetAsyncKeyState(VK_NUMPAD9)&1)
csuperbullets = !csuperbullets;
if((*(BYTE *)GameStatus == 1) && csuperbullets)
memcpy((void *)SuperBullets, (void *)(PBYTE)"\x90\x90\x90", 3);
else
memcpy((void *)SuperBullets, (void *)(PBYTE)"\x0F\x94\xC0", 3);
if (GetAsyncKeyState(VK_NUMPAD0)&1)
crapidfire = !crapidfire;
if((*(BYTE *)GameStatus == 1)&& crapidfire == 1 && GetAsyncKeyState(VK_LBUTTON)<0) {
memcpy((void *)RapidFire, (void *)(PBYTE) "\x90\x90", 2);
} else {
memcpy((void *)RapidFire, (void *)(PBYTE) "\x74\x3E", 2);
}
}
HRESULT PASCAL gellPresent(LPDIRECT3DDEVICE9 pDevice, CONST RECT *pSourceRect,
CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
_asm pushad;
Main();
_asm popad;
return pPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}
void *cDetourCreate( BYTE *src, const BYTE *dst )
{
int len = 5;
DWORD dwBack;
BYTE *jmp = (BYTE*)malloc( len + 5 );
VirtualProtect( src, len, PAGE_EXECUTE_READWRITE, &dwBack );
memcpy( jmp, src, len );
jmp += len;
jmp[0] = NIGHTMARE_POINTER[0];
*(DWORD*)( jmp+1 ) = (DWORD)( src+len - jmp ) - 5;
src[0] = NIGHTMARE_POINTER[0];
*(DWORD*)( src+1 ) = (DWORD)( dst - src ) - 5;
VirtualProtect( src, len, dwBack, &dwBack );
return( jmp-len );
}
void cHook(void)
{
DWORD dwPresent = GetPointer (17);
pPresent = (oPresent)cDetourCreate(( PBYTE)dwPresent, ( PBYTE )gellPresent);
}
DWORD CALLBACK dwD3D9Thread(LPVOID)
{
while( !IsGameReadyForHook() )
Sleep(100);
cHook();
return 0;
}
BOOL CALLBACK DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);
if(dwReason == DLL_PROCESS_ATTACH) {
//MessageBox(0, "Your Text", "Title", MB_OK);// Menssagem Desejada que apareça quando injete o Hack.
CreateThread(NULL, NULL,(LPTHREAD_START_ROUTINE)dwD3D9Thread, NULL, NULL, NULL);
}
return TRUE;
}