|
| [Tutorial] Membuat File Dll Injection (C++) | |
|
+23welldee DJdescar dani38 particle agung31 k1r1kn3w kingpin anjnkgila rachmat089 thewa zendral92 BACOD2nd dark46 yus DF_Ricky ghaina11 progal dwiki richafredic gwajalah Ubud_United 2easy4vizi =xMINACOOx= 27 posters | |
Pengirim | Message |
---|
=xMINACOOx= Admin
178 Points : 5801 Reputation : 221 Join date : 10.03.11 Age : 33 Lokasi : Depan Komputer
| Subyek: [Tutorial] Membuat File Dll Injection (C++) Fri Mar 11, 2011 3:05 pm | |
| Kali ini Gua coba sampaikan tutorial membuat file DLL untuk keperluan game hacking dengan menggunakan Visual C++ 2008 Express secara sederhana. Adapun software yang diperlukan sebagai berikut, yang belum punya silakan download: C++ Adapun target game yang ada dalam tutorial ini adalah Point Blank, dengan contoh hack misi mayor. Silakan ikuti langkah-langah di bawah ini: * Jalankan Visual C++ 2008 Express Edition, buat sebuah project dengan cara akses menu File - New - Project atau dengan menekan tombol CTRL + SHIFT + N. - Spoiler Screenshot:
Pada jendela New Project, pilih Empty Project (1) pada bagian Templates, kemudian pada kolom Name masukkan nama project (2) dan klik tombol OK (3) - Spoiler Screenshot:
Project telah berhasil dibuat. Pada bagian Solution Explorer, klik kanan pada nama project (1), kemudian pilih menu Properties (2). - Spoiler Screenshot:
Jendela project properties akan tampil. Pada tree menu sebelah kiri, pilih Configuration Properties (1), kemudian bagian opsi Project Defaults, ubah opsi Configuration Type menjadi Dynamic Library (.dll) (2), kemudian tekan tombol OK (3) untuk melakukan perubahan. - Spoiler Screenshot:
Pada jendela Add New Item yang tampil, pada bagian templates pilih C++ File (.cpp) (1), beri nama 'Main.cpp' (2) pada bagian kolom Name, kemudian tekan tombol OK (3). - Spoiler Screenshot:
Sebuah file bernama 'Main.cpp' berhasil dibuat. Silakan masukkan kode-kode di bawah ini pada file tersebut, kemudian simpan (save). - Spoiler Screenshot:
Berikutnya adalah membuat sebuah file bernama Main.cpp untuk memasukkan kode-kode utama, dengan cara pilih direktori Source Files (1) pada bagian Solution Explorer, kemudian klik menu Project - Add New Item (2) atau dengan menekan tombol CTRL + SHIFT + A. - Spoiler Main.cpp:
#define _CRT_SECURE_NO_WARNINGS #include <windows.h> #include <tlhelp32.h> // 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; // major? UINT_PTR uipUserPointsValue = 999999; // OMG! 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<LPVOID>(_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 - masked, sorry! uiptrFinalPoints = DeRef(uipMmhBaseAddress + 0x4XXXXX) + 0xXXX; // User points pointer - masked, sorry! isInitMmhMemory = false; } // WriteProcessMemory pada pointer 'rank', berikan nilai uipUserRankValue (35) ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalRank), &uipUserRankValue, sizeof(uipUserRankValue), NULL); // WriteProcessMemory pada pointer 'points', berikan nilai uipUserPointsValue (999999) LOL! ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalPoints), &uipUserPointsValue, sizeof(uipUserPointsValue), NULL); } void LovelyLoopy() { // ok, berikan salam dulu! MessageBox(0, "DLL berhasil di-inject. Lanjutkan!", "Hello World", MB_OK + MB_ICONASTERISK); InitApplicationProcess(); while(1) // loop selamanya { 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; }
- Spoiler Screenshot:
Jika kode sudah disimpan (save), langkah berikutnya adalah membentuk file DLL-nya dengan cara klik menu Build - Build Solution atau dengan menekan tombol F7. - Spoiler Screenshot:
Setelah proses build solution, pada jendela Output akan menampilkan hasil dari proses compile/build tersebut, jika tidak ada kesalahan (error) berarti kode-kode sudah benar dan file DLL sudah terbentuk. Jika ternyata ada kesalahan (error), silakan periksa langkah-langkah sebelumnya jika ada yang terlewatkan. - Spoiler Screenshot:
Kemudian buka direktori tempat project anda disimpan, dalam tutorial ini ane simpan di direktori D:\!PROJECTS!\SukaSukaEnte dan buka direktori yang bernama Debug di dalamnya (sesuaikan letak direktori anda). - Spoiler Screenshot:
Bisa kita lihat ada beberapa file yang terbentuk, namun yang kita perlukan hanyalah file yang berekstensi .dll, karena file tersebut yang akan kita injeksikan ke proses program/game. Semoga bisa membantu teman-teman semua, Posted Image jika berguna...! Happy cheating!.. Kl Bermanfaat Jangan lupa nya ya.. | |
| | | 2easy4vizi Level I
10 Points : 5027 Reputation : 1 Join date : 10.03.11 Age : 39 Lokasi : Palembang
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Fri Mar 11, 2011 4:02 pm | |
| Spoilernya banyak yg nggak muncul bang.. | |
| | | =xMINACOOx= Admin
178 Points : 5801 Reputation : 221 Join date : 10.03.11 Age : 33 Lokasi : Depan Komputer
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Fri Mar 11, 2011 4:51 pm | |
| tengs atas informasinya... Tapi Kita sini bs gan,cb cek koneksi agan,stabil g ?? tw g tunggu loading forumny berenti,br agan klik tuh spoilernya..
| |
| | | Ubud_United Moderator
14 Points : 5135 Reputation : 20 Join date : 10.03.11 Age : 34
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Mon Mar 21, 2011 9:21 pm | |
| Injector sudah selesai ane buat kk...... skarang mau bikin DLL'a.... tapi kok spoiler ngak mau muncul??? mohon segera diperbaik'i spoiler'a.. mau belajar bikin DLL saya... Thank's.. | |
| | | gwajalah Level I
24 Points : 5137 Reputation : 31 Join date : 15.03.11 Age : 28 Lokasi : DEPAN KOMPUTER
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Mon Mar 21, 2011 9:33 pm | |
| w juga mau blajar buat DLL perbaiki donk spoilernya om Minacoo
| |
| | | Ubud_United Moderator
14 Points : 5135 Reputation : 20 Join date : 10.03.11 Age : 34
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Mon Mar 21, 2011 11:07 pm | |
| Bukan'a ane mau minta² kk minacoo... ane cuma pengen belajar aja.. untuk membuat DLL [agar work] bahan² nya apa aja ya???? selain software visual C++??? maklum kk ane newbie yg pengen belajar.. demi kemajuan forum kita ini,, setidak'a ada salah satu member yg bisa membuat cheat/jamu.. seperti forum² yg lain... admin/staf maupun member selalu aktif membuat cheat/jamu yg selau update.. bukan'nya cuma share cheat orang aja ke sini.... kan ngak asik.. sory kalo kata² ane menyinggung agan² yg membaca'a... :) :) | |
| | | gwajalah Level I
24 Points : 5137 Reputation : 31 Join date : 15.03.11 Age : 28 Lokasi : DEPAN KOMPUTER
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Tue Mar 22, 2011 3:40 pm | |
| | |
| | | richafredic
10 Points : 5115 Reputation : 40 Join date : 01.04.11
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Sun Apr 10, 2011 2:31 pm | |
| Dsni ga nmpak jg ss nya om.. tlg.... | |
| | | dwiki
12 Points : 5053 Reputation : 41 Join date : 23.04.11 Lokasi : jakarta
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Sun May 22, 2011 6:32 pm | |
| - =xMINACOOx= wrote:
- Kali ini Gua coba sampaikan tutorial membuat file DLL untuk keperluan game hacking dengan menggunakan Visual C++ 2008 Express secara sederhana.
Adapun software yang diperlukan sebagai berikut, yang belum punya silakan download: C++
Adapun target game yang ada dalam tutorial ini adalah Point Blank, dengan contoh hack misi mayor.
Silakan ikuti langkah-langah di bawah ini:
* Jalankan Visual C++ 2008 Express Edition, buat sebuah project dengan cara akses menu File - New - Project atau dengan menekan tombol CTRL + SHIFT + N.
- Spoiler Screenshot:
Pada jendela New Project, pilih Empty Project (1) pada bagian Templates, kemudian pada kolom Name masukkan nama project (2) dan klik tombol OK (3)
- Spoiler Screenshot:
Project telah berhasil dibuat. Pada bagian Solution Explorer, klik kanan pada nama project (1), kemudian pilih menu Properties (2).
- Spoiler Screenshot:
Jendela project properties akan tampil. Pada tree menu sebelah kiri, pilih Configuration Properties (1), kemudian bagian opsi Project Defaults, ubah opsi Configuration Type menjadi Dynamic Library (.dll) (2), kemudian tekan tombol OK (3) untuk melakukan perubahan.
- Spoiler Screenshot:
Pada jendela Add New Item yang tampil, pada bagian templates pilih C++ File (.cpp) (1), beri nama 'Main.cpp' (2) pada bagian kolom Name, kemudian tekan tombol OK (3).
- Spoiler Screenshot:
Sebuah file bernama 'Main.cpp' berhasil dibuat. Silakan masukkan kode-kode di bawah ini pada file tersebut, kemudian simpan (save).
- Spoiler Screenshot:
Berikutnya adalah membuat sebuah file bernama Main.cpp untuk memasukkan kode-kode utama, dengan cara pilih direktori Source Files (1) pada bagian Solution Explorer, kemudian klik menu Project - Add New Item (2) atau dengan menekan tombol CTRL + SHIFT + A.
- Spoiler Main.cpp:
#define _CRT_SECURE_NO_WARNINGS #include <windows.h> #include <tlhelp32.h> // 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; // major? UINT_PTR uipUserPointsValue = 999999; // OMG! 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<LPVOID>(_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 - masked, sorry! uiptrFinalPoints = DeRef(uipMmhBaseAddress + 0x4XXXXX) + 0xXXX; // User points pointer - masked, sorry! isInitMmhMemory = false; } // WriteProcessMemory pada pointer 'rank', berikan nilai uipUserRankValue (35) ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalRank), &uipUserRankValue, sizeof(uipUserRankValue), NULL); // WriteProcessMemory pada pointer 'points', berikan nilai uipUserPointsValue (999999) LOL! ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalPoints), &uipUserPointsValue, sizeof(uipUserPointsValue), NULL); } void LovelyLoopy() { // ok, berikan salam dulu! MessageBox(0, "DLL berhasil di-inject. Lanjutkan!", "Hello World", MB_OK + MB_ICONASTERISK); InitApplicationProcess(); while(1) // loop selamanya { 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; }
- Spoiler Screenshot:
Jika kode sudah disimpan (save), langkah berikutnya adalah membentuk file DLL-nya dengan cara klik menu Build - Build Solution atau dengan menekan tombol F7.
- Spoiler Screenshot:
Setelah proses build solution, pada jendela Output akan menampilkan hasil dari proses compile/build tersebut, jika tidak ada kesalahan (error) berarti kode-kode sudah benar dan file DLL sudah terbentuk. Jika ternyata ada kesalahan (error), silakan periksa langkah-langkah sebelumnya jika ada yang terlewatkan.
- Spoiler Screenshot:
Kemudian buka direktori tempat project anda disimpan, dalam tutorial ini ane simpan di direktori D:\!PROJECTS!\SukaSukaEnte dan buka direktori yang bernama Debug di dalamnya (sesuaikan letak direktori anda).
- Spoiler Screenshot:
Bisa kita lihat ada beberapa file yang terbentuk, namun yang kita perlukan hanyalah file yang berekstensi .dll, karena file tersebut yang akan kita injeksikan ke proses program/game.
Semoga bisa membantu teman-teman semua, Posted Image jika berguna...!
Happy cheating!..
Kl Bermanfaat Jangan lupa nya ya.. | |
| | | progal
1 Points : 4933 Reputation : 0 Join date : 24.05.11 Lokasi : jakarta
| | | | ghaina11
5 Points : 4984 Reputation : 1 Join date : 08.04.11
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Tue May 24, 2011 11:21 am | |
| | |
| | | DF_Ricky Moderator
98 Points : 6497 Reputation : 1115 Join date : 11.03.11 Age : 33 Lokasi : Bogor
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Sat Jun 18, 2011 1:54 pm | |
| | |
| | | yus SAMPAH
9 Points : 4953 Reputation : 12 Join date : 18.06.11 Lokasi : Bogor
| Subyek: Nice COPAS Sat Jun 18, 2011 3:55 pm | |
| | |
| | | DF_Ricky Moderator
98 Points : 6497 Reputation : 1115 Join date : 11.03.11 Age : 33 Lokasi : Bogor
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Sun Jun 19, 2011 6:35 pm | |
| | |
| | | dark46
4 Points : 4909 Reputation : 0 Join date : 21.06.11 Lokasi : Banten
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Tue Jun 21, 2011 10:42 am | |
| sip gan.. dicoba dulu yah..tq | |
| | | BACOD2nd
8 Points : 4966 Reputation : 26 Join date : 19.06.11 Lokasi : Denpasar,Bali
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Tue Jun 21, 2011 1:04 pm | |
| | |
| | | zendral92
3 Points : 4966 Reputation : 10 Join date : 27.05.11 Lokasi : jakarta
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Fri Jun 24, 2011 2:24 am | |
| | |
| | | thewa
6 Points : 4939 Reputation : 18 Join date : 20.06.11 Lokasi : medan
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Thu Jun 30, 2011 11:26 pm | |
| - =xMINACOOx= wrote:
- Kali ini Gua coba sampaikan tutorial membuat file DLL untuk keperluan game hacking dengan menggunakan Visual C++ 2008 Express secara sederhana.
Adapun software yang diperlukan sebagai berikut, yang belum punya silakan download: C++
Adapun target game yang ada dalam tutorial ini adalah Point Blank, dengan contoh hack misi mayor.
Silakan ikuti langkah-langah di bawah ini:
* Jalankan Visual C++ 2008 Express Edition, buat sebuah project dengan cara akses menu File - New - Project atau dengan menekan tombol CTRL + SHIFT + N.
- Spoiler Screenshot:
Pada jendela New Project, pilih Empty Project (1) pada bagian Templates, kemudian pada kolom Name masukkan nama project (2) dan klik tombol OK (3)
- Spoiler Screenshot:
Project telah berhasil dibuat. Pada bagian Solution Explorer, klik kanan pada nama project (1), kemudian pilih menu Properties (2).
- Spoiler Screenshot:
Jendela project properties akan tampil. Pada tree menu sebelah kiri, pilih Configuration Properties (1), kemudian bagian opsi Project Defaults, ubah opsi Configuration Type menjadi Dynamic Library (.dll) (2), kemudian tekan tombol OK (3) untuk melakukan perubahan.
- Spoiler Screenshot:
Pada jendela Add New Item yang tampil, pada bagian templates pilih C++ File (.cpp) (1), beri nama 'Main.cpp' (2) pada bagian kolom Name, kemudian tekan tombol OK (3).
- Spoiler Screenshot:
Sebuah file bernama 'Main.cpp' berhasil dibuat. Silakan masukkan kode-kode di bawah ini pada file tersebut, kemudian simpan (save).
- Spoiler Screenshot:
Berikutnya adalah membuat sebuah file bernama Main.cpp untuk memasukkan kode-kode utama, dengan cara pilih direktori Source Files (1) pada bagian Solution Explorer, kemudian klik menu Project - Add New Item (2) atau dengan menekan tombol CTRL + SHIFT + A.
- Spoiler Main.cpp:
#define _CRT_SECURE_NO_WARNINGS #include <windows.h> #include <tlhelp32.h> // 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; // major? UINT_PTR uipUserPointsValue = 999999; // OMG! 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<LPVOID>(_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 - masked, sorry! uiptrFinalPoints = DeRef(uipMmhBaseAddress + 0x4XXXXX) + 0xXXX; // User points pointer - masked, sorry! isInitMmhMemory = false; } // WriteProcessMemory pada pointer 'rank', berikan nilai uipUserRankValue (35) ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalRank), &uipUserRankValue, sizeof(uipUserRankValue), NULL); // WriteProcessMemory pada pointer 'points', berikan nilai uipUserPointsValue (999999) LOL! ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalPoints), &uipUserPointsValue, sizeof(uipUserPointsValue), NULL); } void LovelyLoopy() { // ok, berikan salam dulu! MessageBox(0, "DLL berhasil di-inject. Lanjutkan!", "Hello World", MB_OK + MB_ICONASTERISK); InitApplicationProcess(); while(1) // loop selamanya { 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; }
- Spoiler Screenshot:
Jika kode sudah disimpan (save), langkah berikutnya adalah membentuk file DLL-nya dengan cara klik menu Build - Build Solution atau dengan menekan tombol F7.
- Spoiler Screenshot:
Setelah proses build solution, pada jendela Output akan menampilkan hasil dari proses compile/build tersebut, jika tidak ada kesalahan (error) berarti kode-kode sudah benar dan file DLL sudah terbentuk. Jika ternyata ada kesalahan (error), silakan periksa langkah-langkah sebelumnya jika ada yang terlewatkan.
- Spoiler Screenshot:
Kemudian buka direktori tempat project anda disimpan, dalam tutorial ini ane simpan di direktori D:\!PROJECTS!\SukaSukaEnte dan buka direktori yang bernama Debug di dalamnya (sesuaikan letak direktori anda).
- Spoiler Screenshot:
Bisa kita lihat ada beberapa file yang terbentuk, namun yang kita perlukan hanyalah file yang berekstensi .dll, karena file tersebut yang akan kita injeksikan ke proses program/game.
Semoga bisa membantu teman-teman semua, Posted Image jika berguna...!
Happy cheating!..
Kl Bermanfaat Jangan lupa nya ya.. | |
| | | rachmat089
6 Points : 4920 Reputation : 18 Join date : 04.07.11 Lokasi : Di Depan Layar Komputer
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Mon Jul 04, 2011 11:38 pm | |
| - =xMINACOOx= wrote:
- Kali ini Gua coba sampaikan tutorial membuat file DLL untuk keperluan game hacking dengan menggunakan Visual C++ 2008 Express secara sederhana.
Adapun software yang diperlukan sebagai berikut, yang belum punya silakan download: C++
Adapun target game yang ada dalam tutorial ini adalah Point Blank, dengan contoh hack misi mayor.
Silakan ikuti langkah-langah di bawah ini:
* Jalankan Visual C++ 2008 Express Edition, buat sebuah project dengan cara akses menu File - New - Project atau dengan menekan tombol CTRL + SHIFT + N.
- Spoiler Screenshot:
Pada jendela New Project, pilih Empty Project (1) pada bagian Templates, kemudian pada kolom Name masukkan nama project (2) dan klik tombol OK (3)
- Spoiler Screenshot:
Project telah berhasil dibuat. Pada bagian Solution Explorer, klik kanan pada nama project (1), kemudian pilih menu Properties (2).
- Spoiler Screenshot:
Jendela project properties akan tampil. Pada tree menu sebelah kiri, pilih Configuration Properties (1), kemudian bagian opsi Project Defaults, ubah opsi Configuration Type menjadi Dynamic Library (.dll) (2), kemudian tekan tombol OK (3) untuk melakukan perubahan.
- Spoiler Screenshot:
Pada jendela Add New Item yang tampil, pada bagian templates pilih C++ File (.cpp) (1), beri nama 'Main.cpp' (2) pada bagian kolom Name, kemudian tekan tombol OK (3).
- Spoiler Screenshot:
Sebuah file bernama 'Main.cpp' berhasil dibuat. Silakan masukkan kode-kode di bawah ini pada file tersebut, kemudian simpan (save).
- Spoiler Screenshot:
Berikutnya adalah membuat sebuah file bernama Main.cpp untuk memasukkan kode-kode utama, dengan cara pilih direktori Source Files (1) pada bagian Solution Explorer, kemudian klik menu Project - Add New Item (2) atau dengan menekan tombol CTRL + SHIFT + A.
- Spoiler Main.cpp:
#define _CRT_SECURE_NO_WARNINGS #include <windows.h> #include <tlhelp32.h> // 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; // major? UINT_PTR uipUserPointsValue = 999999; // OMG! 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<LPVOID>(_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 - masked, sorry! uiptrFinalPoints = DeRef(uipMmhBaseAddress + 0x4XXXXX) + 0xXXX; // User points pointer - masked, sorry! isInitMmhMemory = false; } // WriteProcessMemory pada pointer 'rank', berikan nilai uipUserRankValue (35) ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalRank), &uipUserRankValue, sizeof(uipUserRankValue), NULL); // WriteProcessMemory pada pointer 'points', berikan nilai uipUserPointsValue (999999) LOL! ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalPoints), &uipUserPointsValue, sizeof(uipUserPointsValue), NULL); } void LovelyLoopy() { // ok, berikan salam dulu! MessageBox(0, "DLL berhasil di-inject. Lanjutkan!", "Hello World", MB_OK + MB_ICONASTERISK); InitApplicationProcess(); while(1) // loop selamanya { 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; }
- Spoiler Screenshot:
Jika kode sudah disimpan (save), langkah berikutnya adalah membentuk file DLL-nya dengan cara klik menu Build - Build Solution atau dengan menekan tombol F7.
- Spoiler Screenshot:
Setelah proses build solution, pada jendela Output akan menampilkan hasil dari proses compile/build tersebut, jika tidak ada kesalahan (error) berarti kode-kode sudah benar dan file DLL sudah terbentuk. Jika ternyata ada kesalahan (error), silakan periksa langkah-langkah sebelumnya jika ada yang terlewatkan.
- Spoiler Screenshot:
Kemudian buka direktori tempat project anda disimpan, dalam tutorial ini ane simpan di direktori D:\!PROJECTS!\SukaSukaEnte dan buka direktori yang bernama Debug di dalamnya (sesuaikan letak direktori anda).
- Spoiler Screenshot:
Bisa kita lihat ada beberapa file yang terbentuk, namun yang kita perlukan hanyalah file yang berekstensi .dll, karena file tersebut yang akan kita injeksikan ke proses program/game.
Semoga bisa membantu teman-teman semua, Posted Image jika berguna...!
Happy cheating!..
Kl Bermanfaat Jangan lupa nya ya.. ane coba dulu ya gan... maaf kalo Oot ane baru di forum ini... | |
| | | anjnkgila
27 Points : 5042 Reputation : 2 Join date : 10.03.11
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Sat Jul 09, 2011 10:16 am | |
| gambarnya gx bisa di buka om | |
| | | kingpin
1 Points : 4885 Reputation : 0 Join date : 11.07.11 Lokasi : medan
| | | | k1r1kn3w
3 Points : 4889 Reputation : 0 Join date : 07.07.11 Lokasi : gampeng kediri
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Tue Jul 12, 2011 1:40 pm | |
| - =xMINACOOx= wrote:
- Kali ini Gua coba sampaikan tutorial membuat file DLL untuk keperluan game hacking dengan menggunakan Visual C++ 2008 Express secara sederhana.
Adapun software yang diperlukan sebagai berikut, yang belum punya silakan download: C++
Adapun target game yang ada dalam tutorial ini adalah Point Blank, dengan contoh hack misi mayor.
Silakan ikuti langkah-langah di bawah ini:
* Jalankan Visual C++ 2008 Express Edition, buat sebuah project dengan cara akses menu File - New - Project atau dengan menekan tombol CTRL + SHIFT + N.
- Spoiler Screenshot:
Pada jendela New Project, pilih Empty Project (1) pada bagian Templates, kemudian pada kolom Name masukkan nama project (2) dan klik tombol OK (3)
- Spoiler Screenshot:
Project telah berhasil dibuat. Pada bagian Solution Explorer, klik kanan pada nama project (1), kemudian pilih menu Properties (2).
- Spoiler Screenshot:
Jendela project properties akan tampil. Pada tree menu sebelah kiri, pilih Configuration Properties (1), kemudian bagian opsi Project Defaults, ubah opsi Configuration Type menjadi Dynamic Library (.dll) (2), kemudian tekan tombol OK (3) untuk melakukan perubahan.
- Spoiler Screenshot:
Pada jendela Add New Item yang tampil, pada bagian templates pilih C++ File (.cpp) (1), beri nama 'Main.cpp' (2) pada bagian kolom Name, kemudian tekan tombol OK (3).
- Spoiler Screenshot:
Sebuah file bernama 'Main.cpp' berhasil dibuat. Silakan masukkan kode-kode di bawah ini pada file tersebut, kemudian simpan (save).
- Spoiler Screenshot:
Berikutnya adalah membuat sebuah file bernama Main.cpp untuk memasukkan kode-kode utama, dengan cara pilih direktori Source Files (1) pada bagian Solution Explorer, kemudian klik menu Project - Add New Item (2) atau dengan menekan tombol CTRL + SHIFT + A.
- Spoiler Main.cpp:
#define _CRT_SECURE_NO_WARNINGS #include <windows.h> #include <tlhelp32.h> // 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; // major? UINT_PTR uipUserPointsValue = 999999; // OMG! 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<LPVOID>(_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 - masked, sorry! uiptrFinalPoints = DeRef(uipMmhBaseAddress + 0x4XXXXX) + 0xXXX; // User points pointer - masked, sorry! isInitMmhMemory = false; } // WriteProcessMemory pada pointer 'rank', berikan nilai uipUserRankValue (35) ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalRank), &uipUserRankValue, sizeof(uipUserRankValue), NULL); // WriteProcessMemory pada pointer 'points', berikan nilai uipUserPointsValue (999999) LOL! ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalPoints), &uipUserPointsValue, sizeof(uipUserPointsValue), NULL); } void LovelyLoopy() { // ok, berikan salam dulu! MessageBox(0, "DLL berhasil di-inject. Lanjutkan!", "Hello World", MB_OK + MB_ICONASTERISK); InitApplicationProcess(); while(1) // loop selamanya { 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; }
- Spoiler Screenshot:
Jika kode sudah disimpan (save), langkah berikutnya adalah membentuk file DLL-nya dengan cara klik menu Build - Build Solution atau dengan menekan tombol F7.
- Spoiler Screenshot:
Setelah proses build solution, pada jendela Output akan menampilkan hasil dari proses compile/build tersebut, jika tidak ada kesalahan (error) berarti kode-kode sudah benar dan file DLL sudah terbentuk. Jika ternyata ada kesalahan (error), silakan periksa langkah-langkah sebelumnya jika ada yang terlewatkan.
- Spoiler Screenshot:
Kemudian buka direktori tempat project anda disimpan, dalam tutorial ini ane simpan di direktori D:\!PROJECTS!\SukaSukaEnte dan buka direktori yang bernama Debug di dalamnya (sesuaikan letak direktori anda).
- Spoiler Screenshot:
Bisa kita lihat ada beberapa file yang terbentuk, namun yang kita perlukan hanyalah file yang berekstensi .dll, karena file tersebut yang akan kita injeksikan ke proses program/game.
Semoga bisa membantu teman-teman semua, Posted Image jika berguna...!
Happy cheating!..
Kl Bermanfaat Jangan lupa nya ya.. | |
| | | agung31
31 Points : 4949 Reputation : 3 Join date : 12.06.11 Lokasi : indonesia
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Fri Jul 15, 2011 2:39 am | |
| - =xMINACOOx= wrote:
- Kali ini Gua coba sampaikan tutorial membuat file DLL untuk keperluan game hacking dengan menggunakan Visual C++ 2008 Express secara sederhana.
Adapun software yang diperlukan sebagai berikut, yang belum punya silakan download: C++
Adapun target game yang ada dalam tutorial ini adalah Point Blank, dengan contoh hack misi mayor.
Silakan ikuti langkah-langah di bawah ini:
* Jalankan Visual C++ 2008 Express Edition, buat sebuah project dengan cara akses menu File - New - Project atau dengan menekan tombol CTRL + SHIFT + N.
- Spoiler Screenshot:
Pada jendela New Project, pilih Empty Project (1) pada bagian Templates, kemudian pada kolom Name masukkan nama project (2) dan klik tombol OK (3)
- Spoiler Screenshot:
Project telah berhasil dibuat. Pada bagian Solution Explorer, klik kanan pada nama project (1), kemudian pilih menu Properties (2).
- Spoiler Screenshot:
Jendela project properties akan tampil. Pada tree menu sebelah kiri, pilih Configuration Properties (1), kemudian bagian opsi Project Defaults, ubah opsi Configuration Type menjadi Dynamic Library (.dll) (2), kemudian tekan tombol OK (3) untuk melakukan perubahan.
- Spoiler Screenshot:
Pada jendela Add New Item yang tampil, pada bagian templates pilih C++ File (.cpp) (1), beri nama 'Main.cpp' (2) pada bagian kolom Name, kemudian tekan tombol OK (3).
- Spoiler Screenshot:
Sebuah file bernama 'Main.cpp' berhasil dibuat. Silakan masukkan kode-kode di bawah ini pada file tersebut, kemudian simpan (save).
- Spoiler Screenshot:
Berikutnya adalah membuat sebuah file bernama Main.cpp untuk memasukkan kode-kode utama, dengan cara pilih direktori Source Files (1) pada bagian Solution Explorer, kemudian klik menu Project - Add New Item (2) atau dengan menekan tombol CTRL + SHIFT + A.
- Spoiler Main.cpp:
#define _CRT_SECURE_NO_WARNINGS #include <windows.h> #include <tlhelp32.h> // 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; // major? UINT_PTR uipUserPointsValue = 999999; // OMG! 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<LPVOID>(_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 - masked, sorry! uiptrFinalPoints = DeRef(uipMmhBaseAddress + 0x4XXXXX) + 0xXXX; // User points pointer - masked, sorry! isInitMmhMemory = false; } // WriteProcessMemory pada pointer 'rank', berikan nilai uipUserRankValue (35) ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalRank), &uipUserRankValue, sizeof(uipUserRankValue), NULL); // WriteProcessMemory pada pointer 'points', berikan nilai uipUserPointsValue (999999) LOL! ::WriteProcessMemory(hProcess, reinterpret_cast<LPVOID>(uiptrFinalPoints), &uipUserPointsValue, sizeof(uipUserPointsValue), NULL); } void LovelyLoopy() { // ok, berikan salam dulu! MessageBox(0, "DLL berhasil di-inject. Lanjutkan!", "Hello World", MB_OK + MB_ICONASTERISK); InitApplicationProcess(); while(1) // loop selamanya { 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; }
- Spoiler Screenshot:
Jika kode sudah disimpan (save), langkah berikutnya adalah membentuk file DLL-nya dengan cara klik menu Build - Build Solution atau dengan menekan tombol F7.
- Spoiler Screenshot:
Setelah proses build solution, pada jendela Output akan menampilkan hasil dari proses compile/build tersebut, jika tidak ada kesalahan (error) berarti kode-kode sudah benar dan file DLL sudah terbentuk. Jika ternyata ada kesalahan (error), silakan periksa langkah-langkah sebelumnya jika ada yang terlewatkan.
- Spoiler Screenshot:
Kemudian buka direktori tempat project anda disimpan, dalam tutorial ini ane simpan di direktori D:\!PROJECTS!\SukaSukaEnte dan buka direktori yang bernama Debug di dalamnya (sesuaikan letak direktori anda).
- Spoiler Screenshot:
Bisa kita lihat ada beberapa file yang terbentuk, namun yang kita perlukan hanyalah file yang berekstensi .dll, karena file tersebut yang akan kita injeksikan ke proses program/game.
Semoga bisa membantu teman-teman semua, Posted Image jika berguna...!
Happy cheating!..
Kl Bermanfaat Jangan lupa nya ya.. | |
| | | particle
21 Points : 4910 Reputation : 2 Join date : 17.07.11 Lokasi : bandung
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Thu Jul 21, 2011 12:39 pm | |
| waduh gambarnya ngga muncul,,,,, | |
| | | dani38
67 Points : 5053 Reputation : 12 Join date : 14.05.11 Lokasi : llg
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) Fri Aug 12, 2011 10:48 pm | |
| | |
| | | Sponsored content
| Subyek: Re: [Tutorial] Membuat File Dll Injection (C++) | |
| |
| | | | [Tutorial] Membuat File Dll Injection (C++) | |
|
Similar topics | |
|
| Permissions in this forum: | Anda tidak dapat menjawab topik
| |
| |
| |