Cara membuat Cheat Point Blank(PB) D3D Menu

Para sahabat Cakramnet Cheat PB, Kali ini saya akan mengupas tentang bagaimana caranya membuat Cheat Point Blank (PB) D3D menu. Tak usah banyak basa-basi langsung kita mulai saja Tutorial membuat Cheat Point Blank ini. Okey Gan dah Siap.....

 

Alat yang dibutuhin :

=> VC++ 2010
=> Microsoft DirectX 9.0 SDK (Summer 2004)


Langkah Pertama :
1. Buka Visual C++ 2010 Express Edition, Setelah itu buat New Project.
2. Pilih Visual C++, Empty Project dan namakan dengan zenix D3Dbase.

3. Ok Project telah dibuat, Setelah itu buat Header lalu Klik pada Project dan pilih Add New Item.

Pilih Header File dan Namai dengan zenixMenuClass.h dan isikan code berikut:

//==================================================================
// This file is part of zenixbase d3d v1
// (c) copyright zenix 2010
// special thanks to:
// Hasrul AE
// //mcz yang selalu dukung gw
/cakramnet.blogspot.com/
//==================================================================
#include "Functions.h"
typedef struct{
int index;
char * title;
int *hack;
int hackmaxval;
int hacktype;
DWORD HCOLOR;
}ITEM;
class zenixMenu {
public:
LPDIRECT3DDEVICE9 pDevice;
LPD3DXFONT pFont;

int hackcount;
int selector;
int x,y,w,h;
DWORD COLOR;

ITEM HACKITEM[99];
char hackrval[256];

void CreateItem(int index, char * title, int *hack,int hackmaxval=1,int hacktype=0);
void BuildMenu(char * menuname, int x, int y, int h, int w, DWORD TITLECOL, DWORD BACKCOLOR, DWORD BORDERCOLOR, LPDIRECT3DDEVICE9 pDevice);
void RenderMenu();
};
typedef HRESULT ( WINAPI* oReset )( LPDIRECT3DDEVICE9 pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters );
typedef HRESULT (WINAPI* oEndScene)(LPDIRECT3DDEVICE9 pDevice);
//Colors A,R,G,B Gan Silahkan dipakai untuk membuat Chams
#define RED D3DCOLOR_ARGB(255, 255, 0, 0)
#define GREEN D3DCOLOR_ARGB(255, 0, 255, 0)
#define BLUE D3DCOLOR_ARGB(255, 0, 0, 255)
#define WHITE D3DCOLOR_ARGB(255, 255, 255, 255)
#define BLACK D3DCOLOR_ARGB(255, 0, 0, 0)
#define YELLOW D3DCOLOR_ARGB(255, 255, 255, 0)
#define TEAL D3DCOLOR_ARGB(255, 0, 255, 255)
#define PINK D3DCOLOR_ARGB(255, 255, 240, 0)
#define ORANGE D3DCOLOR_ARGB(255, 255, 132, 0)
#define LIME D3DCOLOR_ARGB(255, 198, 255, 0)
#define SKYBLUE D3DCOLOR_ARGB(255, 0, 180, 255)
#define MAROON D3DCOLOR_ARGB(255, 142, 30, 0)
#define LGRAY D3DCOLOR_ARGB(255, 174, 174, 174)
#define DGRAY D3DCOLOR_ARGB(255, 71, 65, 64)
#define BROWN D3DCOLOR_ARGB(255, 77, 46, 38)
#define SHIT D3DCOLOR_ARGB(255, 74, 38, 38)
4. Setelah itu buat Header lagi dan Beri Nama dengan Functions.h dan Isi dengan code berikut :

//==================================================================
// This file is part of zenixbase d3d v1
// (c) copyright zenix 2010
// special thanks to:
// Hasrul Ae/
// //mcz yang selalu dukung gw
// cakramnet.blogspot.com
//==================================================================
#include "SystemIncludes.h"
void PrintText(char pString[], int x, int y, D3DCOLOR col, ID3DXFont *font)
{
RECT FontRect = { x, y, x+500, y+30 };
font->DrawText( NULL, pString, -1, &FontRect, DT_LEFT | DT_WORDBREAK, col);
}
void FillRGB( int x, int y, int w, int h, D3DCOLOR color, IDirect3DDevice9* pDevice )
{
if( w < 0 )w = 1; if( h < 0 )h = 1; if( x < 0 )x = 1; if( y < 0 )y = 1; D3DRECT rec = { x, y, x + w, y + h }; pDevice->Clear( 1, &rec, D3DCLEAR_TARGET, color, 0, 0 );
}
void DrawBorder( int x, int y, int w, int h, int px, D3DCOLOR BorderColor, IDirect3DDevice9* pDevice )
{
FillRGB( x, (y + h - px), w, px, BorderColor, pDevice );
FillRGB( x, y, px, h, BorderColor, pDevice );
FillRGB( x, y, w, px, BorderColor, pDevice );
FillRGB( (x + w - px), y, px, h, BorderColor, pDevice );
}
void DrawBox( int x, int y, int w, int h, D3DCOLOR BoxColor, D3DCOLOR BorderColor, IDirect3DDevice9* pDevice )
{
FillRGB( x, y, w, h, BoxColor, pDevice );
DrawBorder( x, y, w, h, 1, BorderColor, pDevice );
}
bool isMouseinRegion(int x1, int y1, int x2, int y2) {
POINT cPos;
GetCursorPos(&cPos);
if(cPos.x > x1 && cPos.x < x2 && cPos.y > y1 && cPos.y < y2){ return true; } else { return false; } } bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask) { for(;*szMask;++szMask,++pData,++bMask) if(*szMask=='x' && *pData!=*bMask) return 0; return (*szMask) == NULL; } DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask) { for(DWORD i=0; i
5. Buat Header lagi beri Nama SystemIncludes.h dan Isikan code berikut :

//==================================================================
// This file is part of zenixbase d3d v1
// (c) copyright zenix 2010
// special thanks to:
// Hasrul Ae
// //mcz yang selalu dukung gw
// cakramnet.blogspot.com
//==================================================================
#include
#include
#include
#include
#pragma comment(lib,"d3dx9.lib")
6. Klik pada Source Files kemudian Add New Item pilih C++ File (.cpp) Beri Nama D3dbase.cpp Isikan code berikut :


//==================================================================
// This file is part of zenixbase d3d v1
// (c) copyright zenix 2010
// special thanks to:
// Hasrul Ae
// //mcz yang selalu dukung gw
/cakramnet.blogspot.com/
//==================================================================
#include "zenixMenuClass.h"

oReset pReset;
oEndScene pEndScene;

zenixMenu dMenu;

LPDIRECT3DDEVICE9 g_pDevice = 0;
//Mengatur Offset Font Menu Hack
int xFontOffSet = 15;
int hackopt1;
int MenuHeight = 10;
int show=1;
int b = 0;
//==================================================================
//Menu HACK
int hack1 = 0;
int hack2 = 0;
int hack3 = 0;
int hack4 = 0;
int hack5 = 0;
//==================================================================
void zenixMenu::CreateItem(int index, char * title, int *hack, int hackmaxval,int hacktype)
{
hackcount++;
HACKITEM[hackcount].index = index;
HACKITEM[hackcount].hack = hack;
HACKITEM[hackcount].hackmaxval = hackmaxval;
HACKITEM[hackcount].hacktype = hacktype;
// Mengatur tinggi rendahnya Menu Hack
PrintText(title, xFontOffSet, index*15,HACKITEM[hackcount].HCOLOR,pFont); }
void zenixMenu::BuildMenu(char * menuname, int x, int y, int h, int w, DWORD TITLECOL, DWORD BACKCOLOR, DWORD BORDERCOLOR, LPDIRECT3DDEVICE9 pDevice)
{
if(GetAsyncKeyState(VK_INSERT)&1)show=(!show); //Memunculkan Menu HACK (INSERT)
if(!show) {
DrawBox(0,0, w, 20, BACKCOLOR, BORDERCOLOR, pDevice);
PrintText(menuname, 5, 2, TITLECOL, pFont);
return;
}

DrawBox(x,y, w, h, BACKCOLOR, BORDERCOLOR, pDevice); // Sesuaikan dengan Base Menu HACK
PrintText(menuname, x+10, y+2, TITLECOL, pFont);
CreateItem(1,"Ammo", &hack1);
CreateItem(2,"Recoil", &hack2);
CreateItem(3,"Wallhack", &hack3);
CreateItem(4,"Chams", &hack4);
CreateItem(5,"Apa aja deh", &hack5);
RenderMenu();
}

void zenixMenu::RenderMenu() //Hotkey menu
{
if(GetAsyncKeyState(VK_DOWN)&1)
selector++;

if(GetAsyncKeyState(VK_UP)&1)
if(selector > 1)
selector--;

if (GetAsyncKeyState(VK_RIGHT)<0){ for(int i=0;i < (hackcount+1);i++){ if(selector == HACKITEM[i].index){ if(*HACKITEM[i].hack < HACKITEM[i].hackmaxval) *HACKITEM[i].hack += 1; } } } if (GetAsyncKeyState(VK_LEFT)<0){ for(int i=0;i < (hackcount+1);i++){ if(selector == HACKITEM[i].index){ *HACKITEM[i].hack = 0; Sleep(200); } } } for(int i=0;i < (hackcount+1);i++){ if(selector == HACKITEM[i].index) HACKITEM[i].HCOLOR = GREEN; else HACKITEM[i].HCOLOR = RED; } for(int i=1; i<(hackcount+1); i++){ if(HACKITEM[i].hacktype == 0){ if(*HACKITEM[i].hack == 1) // Mengatur tinggi rendahnya Menu Hotkey PrintText("On", xFontOffSet+100, HACKITEM[i].index*15,WHITE,pFont); else PrintText("Off", xFontOffSet+100, HACKITEM[i].index*15,RED,pFont); } } if(selector < 1) selector = 1; if(selector > hackcount)
selector = 1;

hackcount = 0;
}
void TestThread() //Memunculkan texk jika ON/OFF
{
if( hack1 == 1)
PrintText("Jika Ammo [ON] text akan berubah warna", 30, 200, GREEN, dMenu.pFont);
else
PrintText("Jika Ammo [ON] text akan berubah warna", 30, 200, RED, dMenu.pFont);
} //Sesuaikan saja
void ReFont(LPDIRECT3DDEVICE9 pDevice) //Untuk penggantian font
{
if (g_pDevice != pDevice)
{
g_pDevice = pDevice;
try
{
if (dMenu.pFont != 0)
dMenu.pFont->Release();
} catch (...) {}
dMenu.pFont = 0;
D3DXCreateFontA(pDevice, 14, 0, FW_BOLD, 0, 0, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, PROOF_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", &dMenu.pFont );
}
}

HRESULT WINAPI Reset(IDirect3DDevice9* pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters )
{
dMenu.pFont->OnLostDevice();

HRESULT hRet = pReset(pDevice, pPresentationParameters);

dMenu.pFont->OnResetDevice();

return hRet;
}
// Menu TITLE
HRESULT WINAPI EndScene(LPDIRECT3DDEVICE9 pDevice)
{
ReFont(pDevice);
dMenu.BuildMenu("Nyit-nyit.net 2010",0,0,190,200,RED,BLACK,GREEN,pDevice);
TestThread();
return pEndScene(pDevice);
}


int D3Dinit(void)
{
DWORD hD3D, adr, *vtbl;
hD3D=0;
do {
hD3D = (DWORD)GetModuleHandle("d3d9.dll");
Sleep(10);
} while(!hD3D);
adr = FindPattern(hD3D, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
if (adr) {
memcpy(&vtbl,(void *)(adr+2),4);
pReset = (oReset) DetourFunction((PBYTE)vtbl[16] , (PBYTE)Reset ,5);
pEndScene = (oEndScene) DetourFunction((PBYTE)vtbl[42], (PBYTE)EndScene,5);
}
return 0;
}

BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll);

if ( dwReason == DLL_PROCESS_ATTACH ) {

CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)D3Dinit, NULL, NULL, NULL);
}
if( dwReason == DLL_PROCESS_DETACH) {
dMenu.pFont->Release();
}
return TRUE;
}

Attached Image:
 3.jpg
7. Kemudian Save All Project.
8. Setelah project telah di Save lalu Compile/Start Debugging.

Attached 
Image: 2.jpg
Jangan lupa rubah Properties Project rubah Application (.exe) menjadi Dinamic Library (.dll)

Pada Fungtions.h void *DetourFunction



void *DetourFunction (BYTE *src, const BYTE *dst, const int len)
{
BYTE *jmp;
DWORD dwback;
DWORD jumpto, newjump;

VirtualProtect(src,len,PAGE_READWRITE,&dwback);

if(src[0] == 0xE9)
{
jmp = (BYTE*)malloc(10);
jumpto = (*(DWORD*)(src+1))+((DWORD)src)+5;
newjump = (jumpto-(DWORD)(jmp+5));
jmp[0] = 0xE9;
*(DWORD*)(jmp+1) = newjump;
jmp += 5;
jmp[0] = 0xE9;
*(DWORD*)(jmp+1) = (DWORD)(src-jmp);
}
else
{
jmp = (BYTE*)malloc(5+len);
memcpy(jmp,src,len);
jmp += len;
jmp[0] = 0xE9;
*(DWORD*)(jmp+1) = (DWORD)(src+len-jmp)-5;
}
src[0] = 0xE9;
*(DWORD*)(src+1) = (DWORD)(dst - src) - 5;

for(int i = 5; i < len; i++) src[i] = 0x90; VirtualProtect(src,len,dwback,&dwback); return (jmp-len); } 
 bisa kalian ganti dengan:

void *DetourFunction (BYTE *src, const BYTE *dst, const int len)
{
BYTE *jmp = (BYTE*)malloc(len+5);
DWORD dwBack;

VirtualProtect(src, len, PAGE_EXECUTE_READWRITE, &dwBack);
memcpy(jmp, src, len);
jmp += len;
jmp[0] = 0xE9;
*(DWORD*)(jmp+1) = (DWORD)(src+len - jmp) - 5;
src[0] = 0xE9;
*(DWORD*)(src+1) = (DWORD)(dst - src) - 5;
for (int i=5; i

Semoga Bermanfaat ^_^
Credit : Hasrul AE
Anda sedang membaca artikel tentang Cara membuat Cheat Point Blank(PB) D3D Menu dan bila berkenan Anda bisa share artikel Cara membuat Cheat Point Blank(PB) D3D Menu ini dengan tombol share di bawah. Bila Anda bermaksud COPAS artikel Cara membuat Cheat Point Blank(PB) D3D Menu untuk diposting di blog Anda, mohon untuk meletakkan link Cara membuat Cheat Point Blank(PB) D3D Menu sebagai Sumbernya dengan mengcopy kode di bawah ini.

Get this widget

Baca Artikel Terkait

13 komentar:

Abil Sambodo Adji mengatakan...

Kok Waktu di Debugging Muncul tulisan " Project is not Compiled "?? apanya yg salah kk??

Mohon infonya
Trims..

Anonim mengatakan...

Betul Kata Yang Atas Ane,.,,Kok File Nya Gak Bisa Di Buat... Mohon Bantuannya... Oh Iya Via Ym Aja Bang,Aku Mau Banyak Nanya Nihh,,, : minatouzumakiuchiha@yahoo.co.id

muhammad riski ananda mengatakan...

aku blm paham kk cara bikin cheat.......
kk bisa bantuin aku plisssssssssssss

diki antahlah mengatakan...

gan pliss share video nx dunk susah amad nich

diki antahlah mengatakan...

shared video nx donk gan..,

diki antahlah mengatakan...

shared video nya donk gan..,

Milanello Cheater Point Blank Indonesia mengatakan...

Ga bisa boss -_-

Anonim mengatakan...

a

Anonim mengatakan...

kk aku masih blm paham nichh...

Anonim mengatakan...

hey bang share tuh yang jelas lah

Pusat Skin Care mengatakan...

Izin coba gan... thanks atas tutorial nya,, sangat bermanfaat ;)

Merongoz mengatakan...

Yang bikin artikel aza bingung...wkwkwkwk..soalnya artikelnya hasil copaz sih..gkgkgkgk

Anonim mengatakan...

knapa pas download VS2010 Nya 1 Jam ?

Poskan Komentar

" Jika Postingan saya bermanfaat tolong tinggalkan komentar, Terimakasih !"

Related Posts Plugin for WordPress, Blogger...

Dukung CakramNet sebagai penyedia Cheat PB terbaik dengan "Like" disini.

Pasang iklan :

Postingan terbaru

Chat CakramNet