Code:
#include <d3d9.h>
#include <d3dx9.h>
#include "Quelle.h"
#include "color.h"
#include "int.h"
#include "Hacks.h"
#include "d3dmenu.h"
#include "detour.h"
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "D3DX9.LIB")
HWND HD;
D3D9Menu *Bl4ck = NULL;
CD3DFont* pFont;
bool Color = true;
bool Create;
char *folder[] = {"[+]", "[-]"};
char *onoff[] = {"[OFF]", "[ON]"};
char *Glass[] = {"[OFF]", "[Q],[E]"};
char *ooppkk[] = {"[Close]","[Open]"};
char *Sjump[] = {"[OFF]", "[Control] 500","[Control] 1000","[Control] 1500","[Control] 2000"};
char *speed[] = {"[OFF]", "[x1.5]", "[x2.0]", "[x3.0]", "[x4.0]", "[x5.0]"};
char *Chams[] = {"[OFF]", "[White]", "[Red]", "[Blue]", "[Green]", "[Yellow]", "[Black]"};
char *gpss[] = {"[OFF]","[G]"};
char *sscope[] = {"[OFF]","[x1]","[x2]","[x3]"};
char *DB[] = {"[OFF]","[1]","[2]"};
void RebuildMenu(void)
{
//Direct_Hack
Bl4ck->AddFolder("Direct_Hack", folder, &folder6, 2);
if (folder6)
{
Bl4ck->AddItem ("Dynamic",DB, &CH_Dynamic, 3);
Bl4ck->AddItem ("Crosshair",Chams, &CH_chams, 7);
}
//Player_Hack
Bl4ck->AddFolder("Player_Hack", folder, &folder1, 2);
if (folder1)
{
Bl4ck->AddItem ("Recoilless",onoff, &CH_Recoilless, 2);
Bl4ck->AddItem ("No Bullet Spread",onoff, &CH_No_Bullet_Spread, 2);
Bl4ck->AddItem ("SP1",onoff, &CH_SP1, 2);
Bl4ck->AddItem ("SP2",onoff, &CH_SP2, 2);
Bl4ck->AddItem ("Glass Wall",Glass, &CH_Glass_Wall, 2);
Bl4ck->AddItem ("DERBARAN Team GPS",gpss, &CH_GPS, 2);
}
// Quick_Hack
Bl4ck->AddFolder("Quick_Hack", folder, &folder2, 2);
if (folder2)
{
Bl4ck->AddItem ("Quick_Respon",onoff, &CH_Quick_Respon, 2);
Bl4ck->AddItem ("Quick_Lookon",onoff, &CH_Quick_Lookon, 2);
Bl4ck->AddItem ("Quick_Ammo",onoff, &CH_Quick_Ammo, 2);
Bl4ck->AddItem ("Quick_Medic",onoff, &CH_Quick_Medic, 2);
Bl4ck->AddItem ("Quick_Flag",onoff, &CH_Quick_Flag, 2);
}
// Normal_Hack
Bl4ck->AddFolder("Normal_Hack", folder, &folder3, 2);
if (folder3)
{
Bl4ck->AddItem ("Aim",onoff, &CH_Aim, 2);
Bl4ck->AddItem ("No Fog",onoff, &CH_No_Fog, 2);
Bl4ck->AddItem ("No Fall Damage",onoff, &CH_NFD, 2);
Bl4ck->AddItem ("No Warning Zone",onoff, &CH_No_Warning_Zone, 2);
Bl4ck->AddItem ("Scope",sscope, &CH_Scope, 4);
Bl4ck->AddItem ("Hero Skill Unlimited",onoff, &CH_Skill, 2);
}
// Hard_Hack
Bl4ck->AddFolder("Hard_Hack", folder, &folder4, 2);
if (folder4)
{
Bl4ck->AddItem ("Super Jump",Sjump, &CH_OFS_Y, 5);
Bl4ck->AddItem ("Head Shot",onoff, &CH_Head_shot, 2);
Bl4ck->AddItem ("Speed",speed, &CH_Speed, 6);
Bl4ck->AddItem ("C4 Free Intall",onoff, &CH_C4, 2);
Bl4ck->AddItem ("No Water",onoff, &CH_No_Water, 2);
Bl4ck->AddItem ("High Wall",onoff, &CH_High_Wall, 2);
Bl4ck->AddItem ("Vehicle Repair",onoff, &CH_Repair, 2);
Bl4ck->AddItem ("One Position Kill",ooppkk, &CH_OPK, 2);
}
// Super_Hack
Bl4ck->AddFolder("Super_Hack", folder, &folder9, 2);
if (folder9)
{
Bl4ck->AddItem ("All Ammo Charge",onoff, &CH_Ammo, 2);
Bl4ck->AddItem ("All Madic Charge",onoff, &CH_Medic, 2);
Bl4ck->AddItem ("Fast Delay & Reload",onoff, &CH_Fast_Delay_Reload, 2);
}
// Weapon_Hack
Bl4ck->AddFolder("Weapon_Hack", folder, &folder8, 2);
if (folder8)
{
Bl4ck->AddItem ("Weapon CRC",onoff, &CH_CRC, 2);
Bl4ck->AddItem ("Adrenaline",onoff, &CH_Weapon1, 2);
Bl4ck->AddItem ("Stamina",onoff, &CH_Weapon2, 2);
Bl4ck->AddItem ("Medic Kit",onoff, &CH_Weapon3, 2);
Bl4ck->AddItem ("AK-47 Dual",onoff, &CH_Weapon4, 2);
Bl4ck->AddItem ("X-12",onoff, &CH_Weapon5, 2);
}
// A.I_Hack
Bl4ck->AddFolder("A.I_Hack", folder, &folder5, 2);
if (folder5)
{
Bl4ck->AddItem ("Zombie Frozen",onoff, &CH_Zombie_Stop, 2);
Bl4ck->AddItem ("Zombie OPK",ooppkk, &CH_One_Position_Kill, 2);
}
// Auto_Macro
Bl4ck->AddFolder("Auto_Macro", folder, &folder10, 2);
if (folder10)
{
Bl4ck->AddItem ("Blind Bullet",onoff, &CH_Level_Up1, 2);
Bl4ck->AddItem ("Broken Sunset",onoff, &CH_Level_Up2, 2);
Bl4ck->AddItem ("Day1",onoff, &CH_Level_Up3, 2);
Bl4ck->AddItem ("Out Post",onoff, &CH_Level_Up4, 2);
Bl4ck->AddItem ("Junkyard",onoff, &CH_Level_Up5, 2);
Bl4ck->AddItem ("28th St",onoff, &CH_Level_Up6, 2);
Bl4ck->AddItem ("Light House",onoff, &CH_Level_Up7, 2);
Bl4ck->AddItem ("POW_Camp",onoff, &CH_Level_Up8, 2);
Bl4ck->AddItem ("Hidden Cave",onoff, &CH_Level_Up9, 2);
Bl4ck->AddItem ("***Remove***",onoff, &CH_Remove, 2);
}
// Eixt
Bl4ck->AddFolder("WarRock_Exit", folder, &folder7, 2);
if (folder7)
{
Bl4ck->AddItem ("Exit",onoff, &CH_Exit, 2);
}
}
///////////
D3DXVECTOR3 *GetScreenCoordFromWorld( LPDIRECT3DDEVICE9 pDevice, D3DXVECTOR3 &vScreenCoord, D3DXVECTOR3 vWorldLocation )
{
if( !pDevice )
return NULL;
D3DVIEWPORT9 viewPort;
D3DXMATRIX projection, view, identity;
pDevice->GetTransform( D3DTS_VIEW, &view );
pDevice->GetTransform( D3DTS_PROJECTION, &projection );
pDevice->GetViewport( &viewPort );
D3DXMatrixIdentity( &identity );
D3DXVec3Project( &vScreenCoord, &vWorldLocation, &viewPort, &projection, &view, &identity );
if( vScreenCoord.z < 1 )
return &vScreenCoord;
return FALSE;
}
//
typedef HRESULT ( WINAPI* oPresent ) ( LPDIRECT3DDEVICE9 pDevice, CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion);
oPresent pPresent;
HRESULT WINAPI myPresent ( LPDIRECT3DDEVICE9 pDevice, CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion)
{
// Chams
if (CH_chams==1)
{
int x = ( GetSystemMetrics( 0 ) / 2);
int y = ( GetSystemMetrics( 1 ) / 2);
D3DRECT rec = { x - 20, y, x + 20, y + 1};
D3DRECT rec2 = { x, y - 20, x + 1, y + 20};
pDevice->Clear(1, &rec, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 255, 255, 255), 0, 0);
pDevice->Clear(1, &rec2, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 255, 255, 255), 0, 0);
}
// Chams
if (CH_chams==2)
{
int x = ( GetSystemMetrics( 0 ) / 2);
int y = ( GetSystemMetrics( 1 ) / 2);
D3DRECT rec = { x - 20, y, x + 20, y + 1};
D3DRECT rec2 = { x, y - 20, x + 1, y + 20};
pDevice->Clear(1, &rec, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 255, 000, 000), 0, 0); //Red
pDevice->Clear(1, &rec2, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 255, 000, 000), 0, 0); //Red
}
// Chams
if (CH_chams==3)
{
int x = ( GetSystemMetrics( 0 ) / 2);
int y = ( GetSystemMetrics( 1 ) / 2);
D3DRECT rec = { x - 20, y, x + 20, y + 1};
D3DRECT rec2 = { x, y - 20, x + 1, y + 20};
pDevice->Clear(1, &rec, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 000, 000, 255), 0, 0); //Red
pDevice->Clear(1, &rec2, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 000, 000, 255), 0, 0); //Red
}
// Chams
if (CH_chams==4)
{
int x = ( GetSystemMetrics( 0 ) / 2);
int y = ( GetSystemMetrics( 1 ) / 2);
D3DRECT rec = { x - 20, y, x + 20, y + 1};
D3DRECT rec2 = { x, y - 20, x + 1, y + 20};
pDevice->Clear(1, &rec, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 000, 255, 000), 0, 0); //Red
pDevice->Clear(1, &rec2, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 000, 255, 000), 0, 0); //Red
}
// Chams
if (CH_chams==5)
{
int x = ( GetSystemMetrics( 0 ) / 2);
int y = ( GetSystemMetrics( 1 ) / 2);
D3DRECT rec = { x - 20, y, x + 20, y + 1};
D3DRECT rec2 = { x, y - 20, x + 1, y + 20};
pDevice->Clear(1, &rec, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 255, 255, 000), 0, 0); //Red
pDevice->Clear(1, &rec2, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 255, 255, 000), 0, 0); //Red
}
// Chams
if (CH_chams==6)
{
int x = ( GetSystemMetrics( 0 ) / 2);
int y = ( GetSystemMetrics( 1 ) / 2);
D3DRECT rec = { x - 20, y, x + 20, y + 1};
D3DRECT rec2 = { x, y - 20, x + 1, y + 20};
pDevice->Clear(1, &rec, D3DCLEAR_TARGET, D3DCOLOR_ARGB(150, 000, 000, 000), 0, 0); //Red
pDevice->Clear(1, &rec2, D3DCLEAR_TARGET, D3DCOLOR_ARGB(150, 000, 000, 000), 0, 0); //Red
}
pFont = new CD3DFont("Arial", 8, D3DFONT_BOLD);
pFont->InitDeviceObjects(pDevice);
pFont->RestoreDeviceObjects();
if(Bl4ck == NULL)
{
Bl4ck = new D3D9Menu("WarRock Hack List");
}
else
{
Bl4ck->MenuShow(12,10,pFont,pDevice);
if(Bl4ck->Mmax==0) RebuildMenu();
Bl4ck->MenuNav();
}
delete pFont;
return pPresent(pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}
DWORD dwDrawindexedprimitive_ret;
HRESULT WINAPI myDrawIndexedPrimitive(LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE Type, UINT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount)
{
LPDIRECT3DVERTEXBUFFER9 Stream_Data;
UINT Offset = 0;
UINT m_Stride = 0;
if(pDevice->GetStreamSource(0, &Stream_Data, &Offset, &m_Stride) == D3D_OK)
Stream_Data->Release();
LPDIRECT3DTEXTURE9 sRed,sYellow,sGreen,sBlue,sPurple,sPink,sOrange,sBlack,sWhite,sGrey,sCyan;
//D3D Funcs
__asm
{
popad
jmp dwDrawindexedprimitive_ret;
}
}
int D3D(void)
{
HINSTANCE hD3D;
DWORD vTable[105];
hD3D=0;
do
{
hD3D = GetModuleHandle("d3d9.dll");
if (!hD3D) Sleep(10);
}
while(!hD3D);
if (D3Ddiscover((void *)&vTable[0],420)==0) return 0;
{
pPresent = (oPresent)DetourCreate((DWORD)vTable[17], (DWORD)myPresent,12);
Sleep(100);
}
return 0;
}
BOOL APIENTRY DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
HWND HD;
HD = FindWindow(NULL,"WarRock_Hack");
if(HD)
{
MessageBoxA(NULL,"Sucess.","안내",MB_OK);
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)D3D, NULL, NULL, NULL);
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)&Hacks, NULL, NULL, NULL);
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)&LV, NULL, NULL, NULL);
}
else
{
MessageBoxA(NULL,"Error.","안내",MB_OK);
ExitProcess(0);
}
}
return TRUE;
}
/////////////////////////////////////////
My source added Chams source please.