/*
Name: RCDBase2
Copyright: RCD
Author: RCD
Date: 18/12/10 14:27
Description: Base dasar agar lebih mudah membuat Hack dengan RCDLogger3
ChangLog : Perubahan pada beberapa string yang telah terdeteksi
*/
#include "cbase2.h"
#include "addys.h"
LPTSTR i3engine = "PointBlank.i3Exec"; // handle PointBlank.i3Exec
DWORD adrWSOn, adrWSOff, OldProtection; // deklarasi variabel
BYTE RET[] = {0xC3}; //deklarasi byte untuk RET
BYTE PUSH_EBP[]= {0x55}; //deklarasi byte untuk PUSH_EBP
/*
Karena memwrite sudah terdeteksi HACKSHIELD, maka saya berupaya membuatkan
fungsi alternative selain memwrite dan undetected bernama MEMpatch
*/
//Check Apakah address tersebut di protect ?
void UnProtectAndModify(DWORD Offset, DWORD Pointer, DWORD Length){
VirtualProtect((void *)Offset, Length, PAGE_EXECUTE_READWRITE, &OldProtection); // check apakah address tsb dikunci / protected ? kalau iya, lakukan unprotect
RtlMoveMemory((void *)Offset, (const void*)Pointer, Length); // ubah address tsb menjadi writeable, dan lakukan patch dengan MEMpatch
VirtualProtect((void *)Offset, Length, OldProtection, &OldProtection); // protect lagi address tsb biar gk kena satpam
}
// Lakukan patch terhadap memory
void MEMpatch( BYTE *Offset, BYTE *ByteArray, DWORD Length){
UnProtectAndModify((DWORD)Offset , (DWORD)ByteArray , 1);
}
DWORD WINAPI InitAllHacks(LPVOID param) // thread telah dipatch. undetected 6 desember 2010
{
while (1) { // jika thread telah aktif
if (GetAsyncKeyState(VK_INSERT)&1) { // jika hotkey ditekan.
DWORD dwI3CubeExec = (DWORD)GetModuleHandleA(i3engine); // dapatkan entry point module i3exec
if (dwI3CubeExec > 0) { // jika PointBlank.i3exec telah di inject ke PointBlank.exe
adrWSOn = dwI3CubeExec + (DWORD)ADR_WALLSHOT_NOBT;
MEMpatch((BYTE*)adrWSOn, RET, sizeof(RET)); // lakukan hack terhadap memory
MessageBeep(1); // Beritahukan jika cheat telah sukses di eksekusi
}
}
if (GetAsyncKeyState(VK_DELETE)&1) { // jika hotkey ditekan.
DWORD dwI3CubeExec = (DWORD)GetModuleHandleA(i3engine); // dapatkan entry point module i3exec
if (dwI3CubeExec > 0) { // jika PointBlank.i3exec telah di inject ke PointBlank.exe
adrWSOff = dwI3CubeExec + (DWORD)ADR_WALLSHOT_NOBT;
MEMpatch((BYTE*)adrWSOff, PUSH_EBP, sizeof(PUSH_EBP)); // lakukan hack terhadap memory
MessageBeep(1); // Beritahukan jika Hack telah sukses di eksekusi
}
}
Sleep(10); // jeda untuk menghindari overheat / kelebihan beban
}
return (0); // kembalikan nilai ke 0 agar thread menjadi loop selama-nya
}
BOOL WINAPI DllMain ( HMODULE hDll, DWORD dwReason, LPVOID lpReserved )
{
DisableThreadLibraryCalls(hDll); // mencegah boros memori. SAVE Resource
if (dwReason == DLL_PROCESS_ATTACH) { // jika dll ter-attach
MessageBox (0,"[PointBlank] Simple Hack powered by RCD Logger 3 and RCD Base 2 !\nCredits to :\n-MEMpatch [Credit RCD]\n-RCD Logger [Credit RCD]\n-RCD Base 2 [Credit RCD]\n-Check Handle I3Exec [hrd]\n\nYang gak ngasih credit leecher permanen hohohohoho","Welcome", MB_OK | MB_ICONINFORMATION); // berikan salam pembuka jika dll telah ter-attach ke PROCESS
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)InitAllHacks, 0, 0, 0); // jalanin thread-nya
}
return TRUE; // mencoba berulang kali sampai thread ter-attach
}