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
[sourcecode language="cpp"]
/*
Name: RCD Base
Copyright: RCD
Author: RCD
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.PBlankExec"; // 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;
}
[/sourcecode]
ADDYS.H
[sourcecode language="cpp"]
/*
Name: RCD Base
Copyright: RCD
Author: RCD
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 !!!
[/sourcecode]
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 !
2. isikan code seperti dibawah ini
DLLMAIN.C
[sourcecode language="cpp"]
/*
Name: RCD Base
Copyright: RCD
Author: RCD
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.PBlankExec"; // 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;
}
[/sourcecode]
ADDYS.H
[sourcecode language="cpp"]
/*
Name: RCD Base
Copyright: RCD
Author: RCD
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 !!!
[/sourcecode]
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 !
- Uncheck 'download with download manager' to download the file - Please report broken link in the comment!
Boss, cara masukin keysnya gimana ?
ReplyDeletemisalkan :
Minimize ON = F1
Minimize OF = F2
maklum pikin blajar !!!!!!!
kk minta RCD Base 2.0 donk plss dishare....
ReplyDeletegan ..
ReplyDeleteYTH ..
linknya mna gan untuk download nya ..
tlong ksih link downloadtannya gan ..
kya RCDBase2.0 gan ..
Thanksz
sorry ane msih NewBie gan ..