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 |
015 | LPTSTR PBlankExec = "PointBlank.PBlankExec" ; // handle PointBlank.i3Exec |
016 | DWORD adrMNZ1, adrMNZ2, adrWallOn, adrWallOff, adrAmmoOn, adrAmmoOff, adrBombermanOn, adrBombermanOff, adrGrenadeOn, adrGrenadeOff = 0; // deklarasi dulu yow |
017 |
018 | void 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 |
026 | int __stdcall HSBypass( void ){ |
027 | // Kosong |
028 | // HS Bypass Credit by DRACHE and ME [ RCD ] !!! |
029 | return 0; // unhook |
030 | } |
031 |
032 | DWORD 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 | } |
155 | BOOL 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 | } |
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 |
16 | void WriteASM( void *adr, void *ptr, int size); |
17 | DWORD WINAPI HackThread( LPVOID param); |
18 | #endif |
19 | // ADDYS TEMPELKAN DISINI !!! |
4. Copas hasil logging ke addys.h
5. check dulu kalau ada syntax yang error
6. Build Project dan DLL siap diinject !
Komentar
Posting Komentar