WELCOME


counters

Sabtu, 21 Mei 2011

Cara membuat DLL injection Point Blank memakai Notepade

LANGSUNG AJALA,,, BLOG INI BAIK HATI BISA COPY PASTE..
NIEH CODENYA..


[code]#define _CRT_SECURE_NO_WARNINGS
#include
#include

// definisikan variable dengan 'window title', 'window classname' dan modul
char *pProcessWindowTitle = "Point Blank";
char *pProcessWindowClass = "I3VIEWER";
char *pProcessModuleName = "PointBlank.i3Exec";

// etc...
UINT_PTR uipUserRankValue = 35;
UINT_PTR uipUserPointsValue = 999999;
UINT_PTR uiptrFinalRank, uiptrFinalPoints;

bool isInitMmhMemory = true;

DWORD dwProcessID;
UINT_PTR uipMmhBaseAddress;
HANDLE hProcess;

DWORD GetModuleBase(LPSTR lpModuleName, DWORD dwProcessId)
{
MODULEENTRY32 lpModuleEntry = {0};
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId);

if(!hSnapShot)
return NULL;
lpModuleEntry.dwSize = sizeof(lpModuleEntry);
BOOL bModule = Module32First( hSnapShot, &lpModuleEntry );
while(bModule)
{
if(!strcmp( lpModuleEntry.szModule, lpModuleName ) )
{
CloseHandle(hSnapShot);
return (DWORD)lpModuleEntry.modBaseAddr;
}
bModule = Module32Next( hSnapShot, &lpModuleEntry );
}
CloseHandle( hSnapShot );
return NULL;
}

// DeRef() = credit L. Spiro (MHS)
UINT_PTR DeRef( UINT_PTR _uiptrPointer ) {
UINT_PTR uiptrRet;
if (!::ReadProcessMemory(hProcess, reinterpret_cast(_uiptrPointer), &uiptrRet, sizeof(uiptrRet), NULL)) { return 0UL; }
return uiptrRet;
}

// inisialisasi proses
void InitApplicationProcess()
{
bool isFindWindow = true;
HWND hWnd = NULL;

while(isFindWindow)
{
if((hWnd = FindWindowA(pProcessWindowClass, pProcessWindowTitle)) != NULL) // jika window ditemukan
{
isFindWindow = false;
}
Sleep(500);
}

GetWindowThreadProcessId(hWnd, &dwProcessID);
hProcess = OpenProcess(PROCESS_ALL_ACCESS|PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS _VM_WRITE|PROCESS_QUERY_INFORMATION, FALSE, dwProcessID);
}

void MajorMissionHack()
{
if(isInitMmhMemory)
{
uipMmhBaseAddress = GetModuleBase(pProcessModuleName, dwProcessID);

// misal: pointer yang didapat = PointBlank.i3Exec+00471234 dengan offset 0xA12, tuliskan seperti di bawah!
uiptrFinalRank = DeRef(uipMmhBaseAddress + 0x4XXXXX) + 0xXXX; // User rank pointer
; uiptrFinalPoints = DeRef(uipMmhBaseAddress + 0x4XXXXX) + 0xXXX; // User points pointer
isInitMmhMemory = false;
}

// WriteProcessMemory pada pointer 'rank', berikan nilai uipUserRankValue (35)
::WriteProcessMemory(hProcess, reinterpret_cast(uiptrFinalRank), &uipUserRankValue, sizeof(uipUserRankValue), NULL);

// WriteProcessMemory pada pointer 'points', berikan nilai uipUserPointsValue (999999) LOL!
::WriteProcessMemory(hProcess, reinterpret_cast(uiptrFinalPoints), &uipUserPointsValue, sizeof(uipUserPointsValue), NULL);
}

void LovelyLoopy()
{
// ok, berikan salam dulu! :D
MessageBox(0, "DLL berhasil di-inject. Lanjutkan!", "Hello World", MB_OK + MB_ICONASTERISK);

InitApplicationProcess();

while(1) // loop selamanya :D
{
if(GetAsyncKeyState(VK_F12)&1) // jika F12 ditekan
{
MajorMissionHack(); // panggil fungsi 'MajorMissionHack()'
Sleep(500);
}

Sleep(1);
}
}

BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
{
DisableThreadLibraryCalls(hDll);

if(dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)LovelyLoopy, NULL, NULL, NULL);
}
else if(dwReason == DLL_PROCESS_DETACH)
{
CloseHandle(hProcess);
}

return TRUE;
}
[/code]

d atas khusus d pergunakan d windows 7/ Vista

jika ingin d gunakan di windows XP ubah bagian ini

hProcess = OpenProcess(PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_VM_WRITE|PROCESS_Q UERY_INFORMATION, FALSE, dwProcessID);

kalo belum bisa. tanya dengan cara Komentar

0 komentar:

Posting Komentar

Blogger Tricks

Blogger Themes

Get Free Music at www.divine-music.info
Get Free Music at www.divine-music.info

Free Music at divine-music.info>

T