Julian Hacker Admin
Jumlah posting : 21 Join date : 10.09.11 Age : 29 Lokasi : Batam, Kepulauan Riau
| Subyek: [Tutorial] Create D3DMenu Hack (Plus Video) Sun Oct 09, 2011 8:39 am | |
| Step 1 :Siapkan peralatan dibawah ini : 1. Kopi (biar kaga ngantuk), 2. Rokok (kesukaan agan aja), 3. Music (biar ga jenuh aja), 4. Facebook (kali aja sambil ngobrol am temen) 5. Microsoft Visual Studio C++ 2010 Express 6. Microsoft DirectX 9.0 SDK (Summer 2004) 7. Apa lagi yah... Step 2 :Ikuti langkah-langkah berikut : 1. Jalankan Microsoft Visual Studio C++ 2010 Express 2. Buat New Project 3. Pilih Visual C++, Empty Project dan namanya Terserah kamu 4. Buat header = klik kanan pada project > add > New Item... > Header File (.h) > Beri nama SebrotMenuClass.h SebrotMenuClass.h - Spoiler:
//===================================================================== // DLL ini merupakan bagian dari Sebrot360base D3D Menu Private part 1 // (c) copyright Sebrot360 2011 // special thanks to: cr3ativiz.org //===================================================================== #include "Functions.h" typedef struct{ int index; char * title; int *hack; int hackmaxval; int hacktype; DWORD HCOLOR; }ITEM; class SebrotMenu { 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 );//edit if you want to work for the game typedef HRESULT (WINAPI* oEndScene)(LPDIRECT3DDEVICE9 pDevice); //Colors A,R,G,B Silakan gunakan 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)
5. Buat lagi header = klik kanan pada project > add > New Item... > Header File (.h) > Beri nama SystemIncludes.h SystemIncludes.h - Spoiler:
//===================================================================== // DLL ini merupakan bagian dari Sebrot360base D3D Menu Private part 1 // (c) copyright Sebrot360 2011 // special thanks to: cr3ativiz.org //===================================================================== #include <Windows.h> #include <stdio.h> #include <d3d9.h> #include <d3dx9.h> #pragma comment(lib,"d3dx9.lib")
6. Buat lagi header = klik kanan pada project > add > New Item... > Header File (.h) > Beri nama Functions.h Functions.h - Spoiler:
//===================================================================== // DLL ini merupakan bagian dari Sebrot360base D3D Menu Private part 1 // (c) copyright Sebrot360 2011 // special thanks to: cr3ativiz.org //===================================================================== #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<dwLen; i++) if (bCompare((BYTE*)(dwAddress+i),bMask,szMask)) return (DWORD)(dwAddress+i); return 0; } void *DetourFunction (BYTE *src, const BYTE *dst, const int len)//mengedit jika Anda ingin bekerja untuk permainan { 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<len; i++) src[i]=0x90; VirtualProtect(src, len, dwBack, &dwBack); return (jmp-len); }
7. Setelah membuat 3 header. sekarang buat C++, klik kanan pada project > add > New Item... > C++ File (.cpp) > Beri nama SebrotD3Dbase.cpp SebrotD3Dbase.cpp - Spoiler:
//===================================================================== // DLL ini merupakan bagian dari Sebrot360base D3D Menu Private part 1 // (c) copyright Sebrot360 2011 // special thanks to: cr3ativiz.org //===================================================================== #include "SebrotMenuClass.h" oReset pReset; oEndScene pEndScene; SebrotMenu dMenu; LPDIRECT3DDEVICE9 g_pDevice = 0; //Sesuaikan Offset Hack menu Font 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; int hack6 = 0; //================================================================== void SebrotMenu::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 Hack menu tinggi dan rendah PrintText(title, xFontOffSet, index*15,HACKITEM[hackcount].HCOLOR,pFont); } void SebrotMenu::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("Sebrot360 D3D MENU", 5, 2, TITLECOL, pFont); return; } // DrawBox(x,y, w, h, BACKCOLOR, BORDERCOLOR, pDevice); // Sesuaikan Basis Hack menu PrintText(menuname, x+10, y+2, TITLECOL, pFont); CreateItem(1,"Wallhack", &hack1); CreateItem(2,"Chams", &hack2); CreateItem(3,"Crosshair", &hack3); CreateItem(4,"NO Smoke", &hack4); CreateItem(5,"Terserah Agan", &hack5); CreateItem(6,"Apa Aja",&hack6); RenderMenu(); } void SebrotMenu::RenderMenu() //Hotkey "On" atau "Off" 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 Menu Shortcut tinggi dan rendah PrintText("On", xFontOffSet+100, HACKITEM[i].index*15,GREEN,pFont); else PrintText("Off", xFontOffSet+100, HACKITEM[i].index*15,RED,pFont); } } if(selector < 1) selector = 1; if(selector > hackcount) selector = 1; hackcount = 0; } //Customize it void ReFont(LPDIRECT3DDEVICE9 pDevice) //Untuk huruf pengganti { 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, "Comic Sans MS", &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("Sebrot360 D3D Menu",0,0,190,200,YELLOW,BLUE,YELLOW,pDevice); return pEndScene(pDevice); } int D3Dinit(void)//mengedit jika Anda ingin bekerja untuk permainan { DWORD hD3D, adr, *vtbl; hD3D=0; do { hD3D = (DWORD)GetModuleHandle("d3d9.dll"); Sleep(10); } while(!hD3D); adr = FindPattern(hD3D, 0x128000, (PBYTE)"xC7x06x00x00x00x00x89x86x00x00x00x00x89x86", "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 )//mengedit jika Anda ingin bekerja untuk permainan { 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; }
8. Klik File > Save All. 9. Setelah project di save, klik Build > Build Solution. 10. Beres dah buat dll wallhack d3d menu. 11. Test D3D Menu yang tadi agan buat dengan menggunakan D3D9_Test.exe Kalo masih ga mengerti, nih gw tambahin Video tutorialnya... Video Tutorial : - Quote :
- https://www.youtube.com/watch?v=NJF-ZCDvWaQ&feature=colike
Download untuk test D3D menu nya kalo udah beres di build : - Quote :
- http://www.ziddu.com/download/16462697/D3D8D3D9TestWindow.rar.html
Untuk tambahannya silahkan kreasi sendiri Selamat berkreasi dan semoga bermanfaat - Spoiler:
Jangan lupa include nya ya !!! Credits: - Zenix@N3
Editan: - Sebrot360 | |
|