Admin Penanggung jawab
Jumlah posting : 356 Points : 186802 Cendol : 8 Join date : 26.11.10 Age : 34
| Subyek: Membuat Dll Point Blank With Devc++ Fri Nov 26, 2010 6:44 am | |
| Tools : DevC++ (tanya ama mbah google byk tuh yg share) RCD Logger2 (RCD) Tutor : 1. Buatlah sebuah project baru seperti tutorial sebelumnya, rename dllmain.h menjadi addys.h 2. isikan code seperti dibawah ini DLLMAIN.H - Spoiler:
/* Name: rxwxxx Copyright: rxwxxx Author: rxwxxx Date: 22/11/10 15:37 Description: SC Dasar untuk lebih mudah menggunakan RCD Logger =============================================================== MOHON DESKRIPSI INI JANGAN DIBUANG ! */ #include "addys.h" // sumber offset dan deklarasi dll #include <windows.h> // include untuk createthread #include <stdio.h> #include <stdlib.h>
LPTSTR PBlankExec = "PointBlank.i3Exec"; // handle PointBlank.i3Exec DWORD adrMNZ1, adrMNZ2, adrWallOn, adrWallOff, adrAmmoOn, adrAmmoOff, adrBombermanOn, adrBombermanOff, adrGrenadeOn, adrGrenadeOff = 0; // deklarasi dulu yow
void WriteASM(void *adr, void *ptr, int size) // modul untuk melakukan penulisan ke address asm { DWORD OldProtection; VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection); memcpy(adr,ptr,size); VirtualProtect(adr,size,OldProtection, &OldProtection); }
int __stdcall HSBypass(void){ // Kosong // HS Bypass Credit by DRACHE and ME [ RCD ] !!! return 0; // unhook }
DWORD WINAPI HackThread(LPVOID param) // Perulangan { while (1) { // Jika nilai 1 atau True jalankan fungsi dibawah ini ! // PASSING HACKSHIELD DETECT GAMEHACK HSBypass(); HSBypass(); HSBypass(); HSBypass(); HSBypass(); HSBypass(); HSBypass(); HSBypass(); HSBypass(); HSBypass(); // Minimize ON if (GetAsyncKeyState(VK_INSERT)&1) { MessageBeep(0); DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec); if (dwPBlankModule > 0) { adrMNZ1 = dwPBlankModule + (DWORD)OFS_Minimize1; WriteASM((void *)(adrMNZ1),(void*)(PBYTE)"\x00", 1); adrMNZ2 = dwPBlankModule + (DWORD)OFS_Minimize2; WriteASM((void *)(adrMNZ2),(void*)(PBYTE)"\x00", 1); } } // Minimize OFF if (GetAsyncKeyState(VK_DELETE)&1) { MessageBeep(0); DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec); if (dwPBlankModule > 0) { adrMNZ1 = dwPBlankModule + (DWORD)OFS_Minimize1; WriteASM((void *)(adrMNZ1),(void*)(PBYTE)"\x01", 1); adrMNZ2 = dwPBlankModule + (DWORD)OFS_Minimize2; WriteASM((void *)(adrMNZ2),(void*)(PBYTE)"\x01", 1); } } // WALLSHOT ON if (GetAsyncKeyState(VK_F5)&1) { MessageBeep(0); DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec); if (dwPBlankModule > 0) { adrWallOn = dwPBlankModule + (DWORD)ADR_Wallshot; WriteASM((void *)(adrWallOn),(void*)(PBYTE)"\xC3", 1); } } // WALLSHOT OFF if (GetAsyncKeyState(VK_F7)&1) { MessageBeep(0); DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec); if (dwPBlankModule > 0) { adrWallOff = dwPBlankModule + (DWORD)ADR_Wallshot; WriteASM((void *)(adrWallOff),(void*)(PBYTE)"\x55", 1); } } // AMMO ON if (GetAsyncKeyState(VK_HOME)&1) { MessageBeep(0); DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec); if (dwPBlankModule > 0) { adrAmmoOn = dwPBlankModule + (DWORD)ADR_Ammo; WriteASM((void *)(adrAmmoOn),(void*)(PBYTE)"\xC3", 1); } } // AMMO OFF if (GetAsyncKeyState(VK_DELETE)&1) { MessageBeep(0); DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec); if (dwPBlankModule > 0) { adrAmmoOff = dwPBlankModule + (DWORD)ADR_Ammo; WriteASM((void *)(adrAmmoOff),(void*)(PBYTE)"\x55", 1); } } //BOMBERMAN ON if (GetAsyncKeyState(VK_F1)&1) { MessageBeep(0); DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec); if (dwPBlankModule > 0) { adrBombermanOn = dwPBlankModule + (DWORD)OFS_Bomberman; WriteASM((void *)(adrBombermanOn),(void*)(PBYTE)"\x00", 1); } } //BOMBERMAN OFF if (GetAsyncKeyState(VK_F2)&1) { MessageBeep(0); DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec); if (dwPBlankModule > 0) { adrBombermanOff = dwPBlankModule + (DWORD)OFS_Bomberman; WriteASM((void *)(adrBombermanOff),(void*)(PBYTE)"\x01", 1); } } // Unlimited Grenade ON if (GetAsyncKeyState(VK_PRIOR)&1) { MessageBeep(0); DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec); if (dwPBlankModule > 0) { adrGrenadeOn = dwPBlankModule + (DWORD)ADR_UnlmtdGrnade; // Unlimited Grenade type nya beda dari yang lain // Untuk on : 01 81 50 03 00 00 // Cheat ini akan menambah jumlah grenade setiap lempar, have fun ! WriteASM((void *)(adrBombermanOff),(void*)(PBYTE)"???", 1);// ??? <= pikir sendiri } } // Unlimited Grenade Off if (GetAsyncKeyState(VK_NEXT)&1) { MessageBeep(0); DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec); if (dwPBlankModule > 0) { adrGrenadeOff = dwPBlankModule + (DWORD)ADR_UnlmtdGrnade; // Untuk off. Offset Bytes nya adalah = 89 81 50 03 00 00 WriteASM((void *)(adrBombermanOff),(void*)(PBYTE)"???", 1); // ??? <= pikir sendiri } } Sleep(5); // Berikan jeda } return (0); // unhook } BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved ) { DisableThreadLibraryCalls(hDll); // meringankan kerja dll if (dwReason == DLL_PROCESS_ATTACH) { MessageBox (0,"Simple DLL Hack\nPowered by RCD Logger 2.0","RCD Base", MB_OK | MB_ICONINFORMATION); CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0); } return TRUE; }
ADDYS.H - Spoiler:
/* Name: rxwxxx Copyright: rxwxxx Author: rxwxxx Date: 22/11/10 15:37 Description: SC Dasar untuk lebih mudah menggunakan RCD Logger =============================================================== MOHON DESKRIPSI INI JANGAN DIBUANG ! */ #ifndef __RCD_BASE_H #define __RCD_BASE_H
#define WIN32_LEAN_AND_MEAN #include <windows.h>
void WriteASM(void *adr, void *ptr, int size); DWORD WINAPI HackThread(LPVOID param); #endif // ADDYS TEMPELKAN DISINI !!!
3. Cari offset dengan cara menjalankan RCD Logger 2.0 4. Copas hasil logging ke addys.h 5. Build Project dan DLL siap diinject ! yg gk mw ngetik nya nh ak kasih keringanan kerangka dari RCD Base Download : ^_^ jika RCD logger2 sudah tidak mendeteksi offset saya akan berusaha untuk mecari engganti nya... Thx.... CREDIT : CLABERS_Xp | |
|