RCD Base 1.0


1. Buatlah sebuah project baru seperti tutorial sebelumnya, rename dllmain.h menjadi addys.h
2. isikan code seperti dibawah ini
DLLMAIN.C



001/*
002  Name: RCD Base
003  Copyright: RCD
004  Author: RCD
005  Date: 22/11/10 15:37
006  Description: SC Dasar untuk lebih mudah menggunakan RCD Logger
007  ===============================================================
008  MOHON DESKRIPSI INI JANGAN DIBUANG !
009*/
010#include "addys.h" // sumber offset dan deklarasi dll
011#include <windows.h> // include untuk createthread
012#include <stdio.h>
013#include <stdlib.h>
014 
015LPTSTR PBlankExec = "PointBlank.PBlankExec"; // handle PointBlank.i3Exec
016DWORD adrMNZ1, adrMNZ2, adrWallOn, adrWallOff, adrAmmoOn, adrAmmoOff, adrBombermanOn, adrBombermanOff, adrGrenadeOn, adrGrenadeOff = 0; // deklarasi dulu yow
017 
018void WriteASM(void *adr, void *ptr, int size) // modul untuk melakukan penulisan ke address asm
019{
020    DWORD OldProtection;
021    VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection);
022    memcpy(adr,ptr,size);
023    VirtualProtect(adr,size,OldProtection, &OldProtection);
024}
025 
026int __stdcall HSBypass(void){
027// Kosong
028// HS Bypass Credit by DRACHE and ME [ RCD ] !!!
029return 0; // unhook
030}
031 
032DWORD WINAPI HackThread(LPVOID param) // Perulangan
033{
034    while (1) { // Jika nilai 1 atau True jalankan fungsi dibawah ini !
035            // PASSING HACKSHIELD DETECT GAMEHACK
036            HSBypass();
037            HSBypass();
038            HSBypass();
039            HSBypass();
040            HSBypass();
041            HSBypass();
042            HSBypass();
043            HSBypass();
044            HSBypass();
045            HSBypass();
046    // Minimize ON
047       if (GetAsyncKeyState(VK_INSERT)&1) {
048            MessageBeep(0);
049            DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec);
050            if (dwPBlankModule > 0) {
051                adrMNZ1 = dwPBlankModule + (DWORD)OFS_Minimize1;
052                WriteASM((void *)(adrMNZ1),(void*)(PBYTE)"\x00", 1);
053                adrMNZ2 = dwPBlankModule + (DWORD)OFS_Minimize2;
054                WriteASM((void *)(adrMNZ2),(void*)(PBYTE)"\x00", 1);
055 
056            }
057        }
058       // Minimize OFF
059        if (GetAsyncKeyState(VK_DELETE)&1) {
060                                           MessageBeep(0);
061            DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec);
062            if (dwPBlankModule > 0) {
063                adrMNZ1 = dwPBlankModule + (DWORD)OFS_Minimize1;
064                WriteASM((void *)(adrMNZ1),(void*)(PBYTE)"\x01", 1);
065                adrMNZ2 = dwPBlankModule + (DWORD)OFS_Minimize2;
066                WriteASM((void *)(adrMNZ2),(void*)(PBYTE)"\x01", 1);
067 
068            }
069        }
070        // WALLSHOT ON
071        if (GetAsyncKeyState(VK_F5)&1) {
072  MessageBeep(0);
073            DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec);
074            if (dwPBlankModule > 0) {
075                adrWallOn = dwPBlankModule + (DWORD)ADR_Wallshot;
076                WriteASM((void *)(adrWallOn),(void*)(PBYTE)"\xC3", 1);
077 
078            }
079        }
080        // WALLSHOT OFF
081        if (GetAsyncKeyState(VK_F7)&1) {
082                                       MessageBeep(0);
083            DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec);
084            if (dwPBlankModule > 0) {
085                adrWallOff = dwPBlankModule + (DWORD)ADR_Wallshot;
086                WriteASM((void *)(adrWallOff),(void*)(PBYTE)"\x55", 1);
087 
088            }
089        }
090        // AMMO ON
091        if (GetAsyncKeyState(VK_HOME)&1) {
092                                       MessageBeep(0);
093            DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec);
094            if (dwPBlankModule > 0) {
095                adrAmmoOn = dwPBlankModule + (DWORD)ADR_Ammo;
096                WriteASM((void *)(adrAmmoOn),(void*)(PBYTE)"\xC3", 1);
097            }
098        }
099        // AMMO OFF
100        if (GetAsyncKeyState(VK_DELETE)&1) {
101                                       MessageBeep(0);
102            DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec);
103            if (dwPBlankModule > 0) {
104                adrAmmoOff = dwPBlankModule + (DWORD)ADR_Ammo;
105                WriteASM((void *)(adrAmmoOff),(void*)(PBYTE)"\x55", 1);
106 
107            }
108        }
109        //BOMBERMAN ON
110        if (GetAsyncKeyState(VK_F1)&1) {
111          MessageBeep(0);
112            DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec);
113            if (dwPBlankModule > 0) {
114                adrBombermanOn = dwPBlankModule + (DWORD)OFS_Bomberman;
115                WriteASM((void *)(adrBombermanOn),(void*)(PBYTE)"\x00", 1);
116 
117            }
118        }
119        //BOMBERMAN OFF
120        if (GetAsyncKeyState(VK_F2)&1) {
121                                       MessageBeep(0);
122            DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec);
123            if (dwPBlankModule > 0) {
124                adrBombermanOff = dwPBlankModule + (DWORD)OFS_Bomberman;
125                WriteASM((void *)(adrBombermanOff),(void*)(PBYTE)"\x01", 1);
126 
127            }
128        }
129        // Unlimited Grenade ON
130                if (GetAsyncKeyState(VK_PRIOR)&1) {
131                                       MessageBeep(0);
132            DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec);
133            if (dwPBlankModule > 0) {
134                adrGrenadeOn = dwPBlankModule + (DWORD)ADR_UnlmtdGrnade;
135                // Unlimited Grenade type nya beda dari yang lain
136                // Untuk on :  01 81 50 03 00 00
137                // Cheat ini akan menambah jumlah grenade setiap lempar, have fun !
138                WriteASM((void *)(adrBombermanOff),(void*)(PBYTE)"???", 1);// ??? <= pikir sendiri
139            }
140        }
141        // Unlimited Grenade Off
142        if (GetAsyncKeyState(VK_NEXT)&1) {
143                                       MessageBeep(0);
144            DWORD dwPBlankModule = (DWORD)GetModuleHandleA(PBlankExec);
145            if (dwPBlankModule > 0) {
146                adrGrenadeOff = dwPBlankModule + (DWORD)ADR_UnlmtdGrnade;
147                // Untuk off. Offset Bytes nya adalah = 89 81 50 03 00 00
148                WriteASM((void *)(adrBombermanOff),(void*)(PBYTE)"???", 1); // ??? <= pikir sendiri
149            }
150        }
151        Sleep(5); // Berikan jeda
152    }
153    return (0); // unhook
154}
155BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
156{
157    DisableThreadLibraryCalls(hDll); // meringankan kerja dll
158    if (dwReason == DLL_PROCESS_ATTACH) {
159                 MessageBox (0,"Simple DLL Hack\nPowered by RCD Logger 2.0","RCD Base", MB_OK | MB_ICONINFORMATION);
160        CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread,      0, 0, 0);
161    }
162    return TRUE;
163}
ADDYS.H
01/*
02  Name: RCD Base
03  Copyright: RCD
04  Author: RCD
05  Date: 22/11/10 15:37
06  Description: SC Dasar untuk lebih mudah menggunakan RCD Logger
07  ===============================================================
08  MOHON DESKRIPSI INI JANGAN DIBUANG !
09*/
10#ifndef __RCD_BASE_H
11#define __RCD_BASE_H
12 
13#define WIN32_LEAN_AND_MEAN
14#include <windows.h>
15 
16void WriteASM(void *adr, void *ptr, int size);
17DWORD WINAPI HackThread(LPVOID param);
18#endif
19// ADDYS TEMPELKAN DISINI !!!
3. Cari offset dengan cara menjalankan RCD Logger 2.0
4. Copas hasil logging ke addys.h
5. check dulu kalau ada syntax yang error
6. Build Project dan DLL siap diinject !

Komentar

Postingan Populer