Forum Medan

You are not connected. Please login or register

TUTORIAL MEMBUAT SIMPLE INJECTOR

Topik sebelumnya Topik selanjutnya Go down  Message [Halaman 1 dari 1]

1 TUTORIAL MEMBUAT SIMPLE INJECTOR on Mon Nov 22, 2010 9:48 am

Imam Asseyka


*_STAR ADMINISTRATOR_*
*_STAR ADMINISTRATOR_*
Dear member MFO,

Daripada menjadi Leecher dengan copy paste dan ngaku-ngaku sebagai ciptaanya kenapa tidak kamu yang menciptakan. Saat ini saya sedang serius mengembangkan member MFO. Saya punya harapan besar lahir dari forum ini master-master pemrograman baru yang bisa meneruskan perjuangan cheater indonesia itu sendiri. Kita bukan bermaksud untuk merusak sesuatu atau game, tapi ambil sudut pandang positifnya agar game itu sendiri makin baik dan kt terus mencari celah.

Oke langsung aja tanpa basa-basi.

Tutorial Pembuatan Simple Universal Injector (Tanpa Suspend)
Tingkat Tutorial : Beginner

Alat/tool yang diperlukan: Microsoft Visual Basic 6 (VB6), bisa portable atau instalable. Lebih disarankan memakai instalable karena komponennya lebih lengkap.

DOWNLOAD VB6 PORTABLE :
DOWNLOAD DISINI
Jangan lupa setelah filenya/foldernya di extract cari file registry dulu di dalam file kemudian double klik file registry itu dan ok ok kan aja pesan yang muncul agar VB portable kamu jadi full versi. kalau belum diregisrt entar mau buat ke exe gak bisa.

A. Langkah Awal
buka vb6, saat pertama kali dibuka atau dijalankan akan muncul kotakdialog, salah satunya standard exe, pilih standard exe dan klik open,secara tidak langsung membuat project baru dengan 1 form.

B. Pengaturan Properties dan Design pada form

klik 1 kali pada form1 (ingat cuman 1 kali), kemudian liat dibagiankanan layar properties form1. Pada bagian propertiesnya, jadikanborderstyle = 0 None

untuk design silakan dikreasikan semaunya, contoh (ini saya ambil dari Rifki N3):



untuk image seperti diatas silakan dibuat melalui aplikasi photoshop atau sejenisnya simpan kedalam format gif.

untuk menambahkan image pada form, klik pada Picture pada propertiesform1, maka akan muncul kotak dialog, pilih image berdasarkan yg kitabuat dalam format gif diatas.


C. Pemasangan Object/Komponen inti

adapun komponen yang akan digunakan adalah 2 Label, 1 Check dan 1 timer, klik dan drag ke form1.



berikut component2 yang harus dibuat:
- 2 label, dengan name label1 dan label2. untuk label2 beri caption exit.
- 1 timer, dengan name timer1, jangan lupa set interval pada properties timernya 100
- 1 Check, dengan name check1 dan beri caption Auto Exit After Injection

D. Coding Form1
klik kanan pada form --> pilih view code.
isikan kode berikut pada form1,

Spoiler Untuk kode pada form1 Klik Disini
:
Option Explicit
'Created Date: 16 November 2010
'Form1 Simple Injector by Imam Asseyka MFO
'This Code N` Tutorial Credit Goes to MFO, Do As MFO Rule.

'deklarasi variabel
Private winHwnd As Long
Private NamaDll As String

'deklarasi fungsi movable form
Private Const WM_NCLBUTTONDOWN As Long = &HA1
Private Const HTCAPTION As Integer = 2
Private Declare Sub ReleaseCapture Lib "user32" ()
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long


Private Sub Form_Load()
'Mengetengahkan Form
CenterForm Me

'sesuaikan nama dll dibawah ini dengan nama dll yg ingin di injectkan.
NamaDll = App.Path & "\nama-dll-anda.dll"

'nama game target terserah, misalnya pointblank
FileTarget = "PointBlank.exe"

'jika ingin injector disetting otomatis exit
'berikan nilai 1 pada kode check1 dibawah, sebaliknya
'jika tidak berikan nilai 0
Check1.Value = 1

End Sub

Private Sub Form_Unload(Cancel As Integer)
'auto open url setelah form di close
OpenURL "www.forummedan.4rumer.com", Me.hwnd
End Sub

Private Sub Label2_Click()

'keluar aplikasi injector

Unload Me

End Sub

Private Sub Timer1_Timer()

winHwnd = GetProcessWndByName(FileTarget)
If Not winHwnd = 0 Then 'jika ditemukan
NTProcessList 'deteksi process game
InjectExecute NamaDll 'inject library
If Check1.Value = 1 Then 'jika check1 dicentang (Auto Exit After Injection) maka
End 'tutup otomatis injector
End If
Else 'jika tidak
Label1.Caption = "Waiting Game..."
End If

End Sub

'kode center form
Private Sub CenterForm(frm As Form)

frm.Top = Screen.Height / 2 - frm.Height / 2
frm.Left = Screen.Width / 2 - frm.Width / 2

End Sub

'kode movable form
Private Sub Form_MouseMove(Button As Integer, _
Shift As Integer, _
X As Single, _
Y As Single)


If Button = 1 Then
ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End If
Screen.MousePointer = vbDefault

End Sub


E: Coding Modul
- bikin 1 modul, klik menu project --> add modules, berinama ModUniversal, masukkan code berikut:

Spoiler Untuk ModUniversal Klik Disini:
Option Explicit
'Created Date: 16 November 2010
'Modul Simple Injection by Imam Asseyka MFO
'beberapa bagian code berasal dari sourcecode Gesp 1.3
'Optimized code by Imam Asseyka MFO

Public FileTarget As String
Private sFlDLL As String
Private IdTargetOne As Long
Private Const TH32CS_SNAPHEAPLIST As Long = &H1
Private Const TH32CS_SNAPPROCESS As Long = &H2
Private Const TH32CS_SNAPTHREAD As Long = &H4
Private Const TH32CS_SNAPMODULE As Long = &H8
Private Const TH32CS_SNAPALL As Double = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Private Const MAX_PATH As Integer = 260
Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF
Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * MAX_PATH
End Type
Private Type MODULEENTRY32
dwSize As Long
th32ModuleID As Long
th32ProcessID As Long
GlblcntUsage As Long
ProccntUsage As Long
modBaseAddr As Long
modBaseSize As Long
hModule As Long
szModule As String * 256
szExePath As String * 260
End Type
Private Type THREADENTRY32
dwSize As Long
cntUsage As Long
th32ThreadID As Long
th32OwnerProcessID As Long
tpBasePri As Long
tpDeltaPri As Long
dwFlags As Long
End Type

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, _
ByVal lProcessID As Long) As Long
Private Declare Function Module32First Lib "kernel32" (ByVal hSnapshot As Long, _
uProcess As MODULEENTRY32) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, _
uProcess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, _
uProcess As PROCESSENTRY32) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, _
ByVal lpProcName As String) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, _
lpAddress As Any, _
ByVal dwSize As Long, _
ByVal fAllocType As Long, _
flProtect As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, _
ByVal lpBaseAddress As Any, _
lpBuffer As Any, _
ByVal nSize As Long, _
lpNumberOfBytesWritten As Long) As Long
Private Declare Function CreateRemoteThread Lib "kernel32" (ByVal ProcessHandle As Long, _
lpThreadAttributes As Long, _
ByVal dwStackSize As Long, _
ByVal lpStartAddress As Any, _
ByVal lpParameter As Any, _
ByVal dwCreationFlags As Long, _
lpThreadID As Long) As Long

Public Function GetFName(fn) As String

Dim f As Integer
Dim n As Integer

GetFName = fn
f = InStr(fn, "")
Do While f
n = f
f = InStr(n + 1, fn, "")
Loop
If n > 0 Then
GetFName = Mid$(fn, n + 1)
End If

End Function

Public Function GetProcessIdByName(ByVal szProcessName As String) As Long

Dim pe32 As PROCESSENTRY32
Dim hSnapshot As Long
Dim bFoundProc As Boolean
Dim dwProcId As Long

dwProcId = 0
pe32.dwSize = Len(pe32)
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
bFoundProc = Process32First(hSnapshot, pe32)
Do While bFoundProc
If Right$(LCase$(Left$(pe32.szExeFile, InStr(1, pe32.szExeFile, vbNullChar) - 1)), Len(szProcessName)) = LCase$(szProcessName) Then
dwProcId = pe32.th32ProcessID
Exit Do
End If
bFoundProc = Process32Next(hSnapshot, pe32)
Loop
CloseHandle hSnapshot
GetProcessIdByName = dwProcId

End Function

Public Function GetProcessWndByName(ByVal szProcessName As String) As Long

Dim dwProcId As Long
Dim dwProcWnd As Long

dwProcId = GetProcessIdByName(szProcessName)
If dwProcId = 0 Then
GetProcessWndByName = 0
Else
dwProcWnd = OpenProcess(PROCESS_ALL_ACCESS, False, dwProcId)
CloseHandle dwProcId
GetProcessWndByName = dwProcWnd
End If

End Function

Public Sub InjectDll(DllPath As String, _
ProsH As Long)

Dim DLLVirtLoc As Long
Dim DllLength As Long
Dim inject As Long
Dim LibAddress As Long
Dim CreateThread As Long
Dim ThreadID As Long
Dim Bla As VbMsgBoxResult

g_loadlibary:
LibAddress = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
If LibAddress = 0 Then
Bla = MsgBox("Can't find LoadLibrary API from kernel32.dll", vbYesNo, "ERROR")
If Bla = vbYes Then
GoTo g_loadlibary
Else
Exit Sub
End If
End If
g_virutalallocex:
DllLength = Len(DllPath)
DLLVirtLoc = VirtualAllocEx(ProsH, 0, DllLength, &H1000, ByVal &H4)
If DLLVirtLoc = 0 Then
Bla = MsgBox("VirtualAllocEx API failed! - try again?", vbYesNo, "ERROR")
If Bla = vbYes Then
GoTo g_virutalallocex
Else
Exit Sub
End If
End If
g_writepmemory:
inject = WriteProcessMemory(ProsH, ByVal DLLVirtLoc, ByVal DllPath, DllLength, vbNull)
If inject = 0 Then
Bla = MsgBox("Failed to Write DLL to Process! - try again?", vbYesNo, "ERROR")
If Bla = vbYes Then
GoTo g_writepmemory
Else
Exit Sub
End If
End If
g_creatthread:
CreateThread = CreateRemoteThread(ProsH, ByVal 0, 0, ByVal LibAddress, ByVal DLLVirtLoc, 0, ThreadID)
If CreateThread = 0 Then
Bla = MsgBox("Failed to Create Thead! - try again?", vbYesNo, "ERROR")
If Bla = vbYes Then
GoTo g_creatthread
Else
Exit Sub
End If
End If
Form1.Label1.Caption = "Injected Successful!"
MsgBox "Dll Injection Successful!", vbInformation, "Success"

End Sub

Public Sub InjectExecute(ByVal sFlDLL As String)

Dim lProcInject As Long

lProcInject = OpenProcess(PROCESS_ALL_ACCESS, 0, IdTargetOne)
If lProcInject > "0" Then
InjectDll sFlDLL, lProcInject
End If
CloseHandle lProcInject

End Sub

Public Function NTProcessList() As Long

Dim FileName As String
Dim ExePath As String
Dim hProcSnap As Long
Dim hModuleSnap As Long
Dim lProc As Long
Dim uProcess As PROCESSENTRY32
Dim uModule As MODULEENTRY32

On Error Resume Next
hProcSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)
uProcess.dwSize = Len(uProcess)
lProc = Process32First(hProcSnap, uProcess)
Do While lProc
If uProcess.th32ProcessID <> 0 Then
hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, uProcess.th32ProcessID)
uModule.dwSize = Len(uModule)
Module32First hModuleSnap, uModule
If hModuleSnap > 0 Then
ExePath = StripNulls(uModule.szExePath)
FileName = GetFName(ExePath)
If FileTarget = FileName Then
IdTargetOne = uProcess.th32ProcessID
End If
End If
End If
lProc = Process32Next(hProcSnap, uProcess)
Loop
CloseHandle hProcSnap
CloseHandle lProc
On Error GoTo 0

End Function

Private Function StripNulls(ByVal sStr As String) As String

StripNulls = Left$(sStr, lstrlen(sStr))

End Function

Public Sub OpenURL(situs As String, sourceHWND As Long)
Call ShellExecute(sourceHWND, vbNullString, situs, vbNullString, vbNullString, 1)
End Sub


F. Tahap Terakhir, Compile ke exe.
jika udah selesai, klik menu file pilih make project exe*

ket:
*nama project exe yang dibuat misalnya MFOTRAINER.exe.

mudah2an dapat lebih mudah dipahami

tambahan:
- no junk, Di Thread ini hanya boleh membahas tentang pembuatan injector tidak ada OOT (OUT OF TOPIC)
- harap baca2 dulu post dithread ini sebelum bertanya, yakinkan dulu pertanyaan anda belum pernah ditanyakan.
- bagi yg telah advance mengenai vb6, saya harap bantuannya untuk memberikan masukkannya yg lebih bagus lagi.
- jika ada yg kurang jelas bisa ditanyakan kemudian. semoga bergunabagi yang pengen bikin injector sendiri sebagai basic atau dasarpembuatan injector untuk selanjutnya bisa dikembangkan sendiri.

Regard's Imam Asseyka Zega

TAMBAHAN TUTORIAL :

UNTUK MEMBUAT ICON PADA INJECTOR klik pada form1, trus liat di properties form1 pada bagian icon, lebih jelas nya liat gambar pada spoiler untuk mengganti icon:

KLIK DISINI UNTUK MELIHAT CONTOH GAMBAR MENGGANTI ICON INJECTOR:


TAMBAHAN MEMBUAT PROPERTIES FORM INJECTOR CONTOH GAMBAR DISINI
KLIK DISINI UNTUK MELIHAT CONTOH GAMBAR MEMBUAT PAGE PROPERTIES:

pilih menu project -> <nama project> properties.
misalnya nama project : MFO TRAINER, maka ntar pilih menu project --> MFO propertis.

disitu muncul properties, ada tab general, tab make, dst. pilih tab make sbb:
Spoiler:
=Spoiler gambar klik disini]

seterusnya tinggal isi value dari company name, dan file description, sesuai selera, jika udah klik ok.
misalnya company name diisi:WWW.MEDANFORUM.CO.CC , dan File Descriptionnya : INJECTOR BY IMAM ASSEYKA ZEGA

Lihat profil user http://forummedan.4rumer.com

2 Re: TUTORIAL MEMBUAT SIMPLE INJECTOR on Sat Nov 27, 2010 11:27 am

[MF]-ModeratoR[PB]


*_THE MODERATOR_*
*_THE MODERATOR_*
ane agak gak ngerti kk entar saya dateng kesana lagi ya klao da waktu ,soalnya lage mau semester jadi konsentrasi ke sekolah dolo ok. Very Happy


_________________________________________________
Baca Peraturan MF :PERATURAN!!
KALO TIDAK MENGIKUTI PERATURAN YG ADA SIAP2 KENA NIatau

Hormati Sesama Member MF , terutama MODERATORS
NO JUNK , NO OOT , NO SARA
Jika masih melakukaanya kami akn memberikan saksi tegas (BANNED ID)
Kunjungi juga Blog Bang Imam : Like a Star @ heaven cheers Imam Medan cheers Like a Star @ heaven

Kalo posting gua berguna kasih ++
Kami Selaku Moderators MF akan mengawas selalu postingan anda
Lihat profil user

3 Re: TUTORIAL MEMBUAT SIMPLE INJECTOR on Sat Nov 27, 2010 11:42 am

Imam Asseyka


*_STAR ADMINISTRATOR_*
*_STAR ADMINISTRATOR_*
rinaldi wrote:ane agak gak ngerti kk entar saya dateng kesana lagi ya klao da waktu ,soalnya lage mau semester jadi konsentrasi ke sekolah dolo ok. Very Happy


Baiklah....!!

Lihat profil user http://forummedan.4rumer.com

4 Re: TUTORIAL MEMBUAT SIMPLE INJECTOR on Tue Dec 14, 2010 9:29 pm

fitrafebri00


*_NEW_STAR_*
*_NEW_STAR_*
caranya compile ke exe gmn ya?

Lihat profil user

5 Re: TUTORIAL MEMBUAT SIMPLE INJECTOR on Wed Dec 15, 2010 3:31 pm

Imam Asseyka


*_STAR ADMINISTRATOR_*
*_STAR ADMINISTRATOR_*
fitrafebri00 wrote:caranya compile ke exe gmn ya?


Klik file liat dibawahnya entar ada make.exe

Lihat profil user http://forummedan.4rumer.com

6 Re: TUTORIAL MEMBUAT SIMPLE INJECTOR on Sat Dec 18, 2010 3:38 pm

fitrafebri00


*_NEW_STAR_*
*_NEW_STAR_*
klo nyari scriptnya caranya gmn om?

skalian, caranya ngedit cheat orang itu gmn ya?

gw ga bs2 nih -________-

Lihat profil user

7 Re: TUTORIAL MEMBUAT SIMPLE INJECTOR on Wed Dec 22, 2010 6:05 am

fitrafebri00


*_NEW_STAR_*
*_NEW_STAR_*
ga bisa di compile om,, No

Lihat profil user

8 Re: TUTORIAL MEMBUAT SIMPLE INJECTOR on Thu Jan 20, 2011 1:59 pm

erland


*_NEW_STAR_*
*_NEW_STAR_*
om bsa gak program yang dah jdi d edit lgi !!!!!!!!!!11
Question Question Question
Question Question
Question
Question
Question
Question
Question
Question

Question

Lihat profil user

9 s on Thu Feb 03, 2011 8:01 am

ryanaditya


*_NEW_STAR_*
*_NEW_STAR_*
Imam Asseyka wrote:Dear member MFO,

Daripada menjadi Leecher dengan copy paste dan ngaku-ngaku sebagai ciptaanya kenapa tidak kamu yang menciptakan. Saat ini saya sedang serius mengembangkan member MFO. Saya punya harapan besar lahir dari forum ini master-master pemrograman baru yang bisa meneruskan perjuangan cheater indonesia itu sendiri. Kita bukan bermaksud untuk merusak sesuatu atau game, tapi ambil sudut pandang positifnya agar game itu sendiri makin baik dan kt terus mencari celah.

Oke langsung aja tanpa basa-basi.

Tutorial Pembuatan Simple Universal Injector (Tanpa Suspend)
Tingkat Tutorial : Beginner

Alat/tool yang diperlukan: Microsoft Visual Basic 6 (VB6), bisa portable atau instalable. Lebih disarankan memakai instalable karena komponennya lebih lengkap.

DOWNLOAD VB6 PORTABLE :
DOWNLOAD DISINI
Jangan lupa setelah filenya/foldernya di extract cari file registry dulu di dalam file kemudian double klik file registry itu dan ok ok kan aja pesan yang muncul agar VB portable kamu jadi full versi. kalau belum diregisrt entar mau buat ke exe gak bisa.

A. Langkah Awal
buka vb6, saat pertama kali dibuka atau dijalankan akan muncul kotakdialog, salah satunya standard exe, pilih standard exe dan klik open,secara tidak langsung membuat project baru dengan 1 form.

B. Pengaturan Properties dan Design pada form

klik 1 kali pada form1 (ingat cuman 1 kali), kemudian liat dibagiankanan layar properties form1. Pada bagian propertiesnya, jadikanborderstyle = 0 None

untuk design silakan dikreasikan semaunya, contoh (ini saya ambil dari Rifki N3):



untuk image seperti diatas silakan dibuat melalui aplikasi photoshop atau sejenisnya simpan kedalam format gif.

untuk menambahkan image pada form, klik pada Picture pada propertiesform1, maka akan muncul kotak dialog, pilih image berdasarkan yg kitabuat dalam format gif diatas.


C. Pemasangan Object/Komponen inti

adapun komponen yang akan digunakan adalah 2 Label, 1 Check dan 1 timer, klik dan drag ke form1.



berikut component2 yang harus dibuat:
- 2 label, dengan name label1 dan label2. untuk label2 beri caption exit.
- 1 timer, dengan name timer1, jangan lupa set interval pada properties timernya 100
- 1 Check, dengan name check1 dan beri caption Auto Exit After Injection

D. Coding Form1
klik kanan pada form --> pilih view code.
isikan kode berikut pada form1,

Spoiler Untuk kode pada form1 Klik Disini
:
Option Explicit
'Created Date: 16 November 2010
'Form1 Simple Injector by Imam Asseyka MFO
'This Code N` Tutorial Credit Goes to MFO, Do As MFO Rule.

'deklarasi variabel
Private winHwnd As Long
Private NamaDll As String

'deklarasi fungsi movable form
Private Const WM_NCLBUTTONDOWN As Long = &HA1
Private Const HTCAPTION As Integer = 2
Private Declare Sub ReleaseCapture Lib "user32" ()
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long


Private Sub Form_Load()
'Mengetengahkan Form
CenterForm Me

'sesuaikan nama dll dibawah ini dengan nama dll yg ingin di injectkan.
NamaDll = App.Path & "\nama-dll-anda.dll"

'nama game target terserah, misalnya pointblank
FileTarget = "PointBlank.exe"

'jika ingin injector disetting otomatis exit
'berikan nilai 1 pada kode check1 dibawah, sebaliknya
'jika tidak berikan nilai 0
Check1.Value = 1

End Sub

Private Sub Form_Unload(Cancel As Integer)
'auto open url setelah form di close
OpenURL "www.forummedan.4rumer.com", Me.hwnd
End Sub

Private Sub Label2_Click()

'keluar aplikasi injector

Unload Me

End Sub

Private Sub Timer1_Timer()

winHwnd = GetProcessWndByName(FileTarget)
If Not winHwnd = 0 Then 'jika ditemukan
NTProcessList 'deteksi process game
InjectExecute NamaDll 'inject library
If Check1.Value = 1 Then 'jika check1 dicentang (Auto Exit After Injection) maka
End 'tutup otomatis injector
End If
Else 'jika tidak
Label1.Caption = "Waiting Game..."
End If

End Sub

'kode center form
Private Sub CenterForm(frm As Form)

frm.Top = Screen.Height / 2 - frm.Height / 2
frm.Left = Screen.Width / 2 - frm.Width / 2

End Sub

'kode movable form
Private Sub Form_MouseMove(Button As Integer, _
Shift As Integer, _
X As Single, _
Y As Single)


If Button = 1 Then
ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End If
Screen.MousePointer = vbDefault

End Sub


E: Coding Modul
- bikin 1 modul, klik menu project --> add modules, berinama ModUniversal, masukkan code berikut:

Spoiler Untuk ModUniversal Klik Disini:
Option Explicit
'Created Date: 16 November 2010
'Modul Simple Injection by Imam Asseyka MFO
'beberapa bagian code berasal dari sourcecode Gesp 1.3
'Optimized code by Imam Asseyka MFO

Public FileTarget As String
Private sFlDLL As String
Private IdTargetOne As Long
Private Const TH32CS_SNAPHEAPLIST As Long = &H1
Private Const TH32CS_SNAPPROCESS As Long = &H2
Private Const TH32CS_SNAPTHREAD As Long = &H4
Private Const TH32CS_SNAPMODULE As Long = &H8
Private Const TH32CS_SNAPALL As Double = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Private Const MAX_PATH As Integer = 260
Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF
Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * MAX_PATH
End Type
Private Type MODULEENTRY32
dwSize As Long
th32ModuleID As Long
th32ProcessID As Long
GlblcntUsage As Long
ProccntUsage As Long
modBaseAddr As Long
modBaseSize As Long
hModule As Long
szModule As String * 256
szExePath As String * 260
End Type
Private Type THREADENTRY32
dwSize As Long
cntUsage As Long
th32ThreadID As Long
th32OwnerProcessID As Long
tpBasePri As Long
tpDeltaPri As Long
dwFlags As Long
End Type

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, _
ByVal lProcessID As Long) As Long
Private Declare Function Module32First Lib "kernel32" (ByVal hSnapshot As Long, _
uProcess As MODULEENTRY32) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, _
uProcess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, _
uProcess As PROCESSENTRY32) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, _
ByVal lpProcName As String) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, _
lpAddress As Any, _
ByVal dwSize As Long, _
ByVal fAllocType As Long, _
flProtect As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, _
ByVal lpBaseAddress As Any, _
lpBuffer As Any, _
ByVal nSize As Long, _
lpNumberOfBytesWritten As Long) As Long
Private Declare Function CreateRemoteThread Lib "kernel32" (ByVal ProcessHandle As Long, _
lpThreadAttributes As Long, _
ByVal dwStackSize As Long, _
ByVal lpStartAddress As Any, _
ByVal lpParameter As Any, _
ByVal dwCreationFlags As Long, _
lpThreadID As Long) As Long

Public Function GetFName(fn) As String

Dim f As Integer
Dim n As Integer

GetFName = fn
f = InStr(fn, "")
Do While f
n = f
f = InStr(n + 1, fn, "")
Loop
If n > 0 Then
GetFName = Mid$(fn, n + 1)
End If

End Function

Public Function GetProcessIdByName(ByVal szProcessName As String) As Long

Dim pe32 As PROCESSENTRY32
Dim hSnapshot As Long
Dim bFoundProc As Boolean
Dim dwProcId As Long

dwProcId = 0
pe32.dwSize = Len(pe32)
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
bFoundProc = Process32First(hSnapshot, pe32)
Do While bFoundProc
If Right$(LCase$(Left$(pe32.szExeFile, InStr(1, pe32.szExeFile, vbNullChar) - 1)), Len(szProcessName)) = LCase$(szProcessName) Then
dwProcId = pe32.th32ProcessID
Exit Do
End If
bFoundProc = Process32Next(hSnapshot, pe32)
Loop
CloseHandle hSnapshot
GetProcessIdByName = dwProcId

End Function

Public Function GetProcessWndByName(ByVal szProcessName As String) As Long

Dim dwProcId As Long
Dim dwProcWnd As Long

dwProcId = GetProcessIdByName(szProcessName)
If dwProcId = 0 Then
GetProcessWndByName = 0
Else
dwProcWnd = OpenProcess(PROCESS_ALL_ACCESS, False, dwProcId)
CloseHandle dwProcId
GetProcessWndByName = dwProcWnd
End If

End Function

Public Sub InjectDll(DllPath As String, _
ProsH As Long)

Dim DLLVirtLoc As Long
Dim DllLength As Long
Dim inject As Long
Dim LibAddress As Long
Dim CreateThread As Long
Dim ThreadID As Long
Dim Bla As VbMsgBoxResult

g_loadlibary:
LibAddress = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
If LibAddress = 0 Then
Bla = MsgBox("Can't find LoadLibrary API from kernel32.dll", vbYesNo, "ERROR")
If Bla = vbYes Then
GoTo g_loadlibary
Else
Exit Sub
End If
End If
g_virutalallocex:
DllLength = Len(DllPath)
DLLVirtLoc = VirtualAllocEx(ProsH, 0, DllLength, &H1000, ByVal &H4)
If DLLVirtLoc = 0 Then
Bla = MsgBox("VirtualAllocEx API failed! - try again?", vbYesNo, "ERROR")
If Bla = vbYes Then
GoTo g_virutalallocex
Else
Exit Sub
End If
End If
g_writepmemory:
inject = WriteProcessMemory(ProsH, ByVal DLLVirtLoc, ByVal DllPath, DllLength, vbNull)
If inject = 0 Then
Bla = MsgBox("Failed to Write DLL to Process! - try again?", vbYesNo, "ERROR")
If Bla = vbYes Then
GoTo g_writepmemory
Else
Exit Sub
End If
End If
g_creatthread:
CreateThread = CreateRemoteThread(ProsH, ByVal 0, 0, ByVal LibAddress, ByVal DLLVirtLoc, 0, ThreadID)
If CreateThread = 0 Then
Bla = MsgBox("Failed to Create Thead! - try again?", vbYesNo, "ERROR")
If Bla = vbYes Then
GoTo g_creatthread
Else
Exit Sub
End If
End If
Form1.Label1.Caption = "Injected Successful!"
MsgBox "Dll Injection Successful!", vbInformation, "Success"

End Sub

Public Sub InjectExecute(ByVal sFlDLL As String)

Dim lProcInject As Long

lProcInject = OpenProcess(PROCESS_ALL_ACCESS, 0, IdTargetOne)
If lProcInject > "0" Then
InjectDll sFlDLL, lProcInject
End If
CloseHandle lProcInject

End Sub

Public Function NTProcessList() As Long

Dim FileName As String
Dim ExePath As String
Dim hProcSnap As Long
Dim hModuleSnap As Long
Dim lProc As Long
Dim uProcess As PROCESSENTRY32
Dim uModule As MODULEENTRY32

On Error Resume Next
hProcSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)
uProcess.dwSize = Len(uProcess)
lProc = Process32First(hProcSnap, uProcess)
Do While lProc
If uProcess.th32ProcessID <> 0 Then
hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, uProcess.th32ProcessID)
uModule.dwSize = Len(uModule)
Module32First hModuleSnap, uModule
If hModuleSnap > 0 Then
ExePath = StripNulls(uModule.szExePath)
FileName = GetFName(ExePath)
If FileTarget = FileName Then
IdTargetOne = uProcess.th32ProcessID
End If
End If
End If
lProc = Process32Next(hProcSnap, uProcess)
Loop
CloseHandle hProcSnap
CloseHandle lProc
On Error GoTo 0

End Function

Private Function StripNulls(ByVal sStr As String) As String

StripNulls = Left$(sStr, lstrlen(sStr))

End Function

Public Sub OpenURL(situs As String, sourceHWND As Long)
Call ShellExecute(sourceHWND, vbNullString, situs, vbNullString, vbNullString, 1)
End Sub


F. Tahap Terakhir, Compile ke exe.
jika udah selesai, klik menu file pilih make project exe*

ket:
*nama project exe yang dibuat misalnya MFOTRAINER.exe.

mudah2an dapat lebih mudah dipahami

tambahan:
- no junk, Di Thread ini hanya boleh membahas tentang pembuatan injector tidak ada OOT (OUT OF TOPIC)
- harap baca2 dulu post dithread ini sebelum bertanya, yakinkan dulu pertanyaan anda belum pernah ditanyakan.
- bagi yg telah advance mengenai vb6, saya harap bantuannya untuk memberikan masukkannya yg lebih bagus lagi.
- jika ada yg kurang jelas bisa ditanyakan kemudian. semoga bergunabagi yang pengen bikin injector sendiri sebagai basic atau dasarpembuatan injector untuk selanjutnya bisa dikembangkan sendiri.

Regard's Imam Asseyka Zega

TAMBAHAN TUTORIAL :

UNTUK MEMBUAT ICON PADA INJECTOR klik pada form1, trus liat di properties form1 pada bagian icon, lebih jelas nya liat gambar pada spoiler untuk mengganti icon:

KLIK DISINI UNTUK MELIHAT CONTOH GAMBAR MENGGANTI ICON INJECTOR:


TAMBAHAN MEMBUAT PROPERTIES FORM INJECTOR CONTOH GAMBAR DISINI
KLIK DISINI UNTUK MELIHAT CONTOH GAMBAR MEMBUAT PAGE PROPERTIES:

pilih menu project -> properties.
misalnya nama project : MFO TRAINER, maka ntar pilih menu project --> MFO propertis.

disitu muncul properties, ada tab general, tab make, dst. pilih tab make sbb:
Spoiler:
=Spoiler gambar klik disini]

seterusnya tinggal isi value dari company name, dan file description, sesuai selera, jika udah klik ok.
misalnya company name diisi:WWW.MEDANFORUM.CO.CC , dan File Descriptionnya : INJECTOR BY IMAM ASSEYKA ZEGA

Lihat profil user

10 Re: TUTORIAL MEMBUAT SIMPLE INJECTOR on Fri Feb 25, 2011 5:50 pm

helmyz2009


*_NEW_STAR_*
*_NEW_STAR_*
gan file registry nya ada di mana??
mohon tutor nya plizz kirimin ke e-mail gua w THX terminatorjunior25@yahoo.com

Lihat profil user

11 Re: TUTORIAL MEMBUAT SIMPLE INJECTOR on Tue Mar 29, 2011 7:46 pm

helmyz2009


*_NEW_STAR_*
*_NEW_STAR_*
gan gimana cara ganti icon injector nya? kayak gini

mohon pencerahan nya

Lihat profil user

Sponsored content


Topik sebelumnya Topik selanjutnya Kembali Ke Atas  Message [Halaman 1 dari 1]

Permissions in this forum:
Anda tidak dapat menjawab topik