Oke langsung aja tanpa basa-basi.
Tutorial Pembuatan Simple Universal Injector (Tanpa Suspend)
Tingkat Tutorial : Beginner
Alat/tool yang diperlukan: [b]Microsoft Visual Basic 6 (VB6), bisa portable atau instalable. Lebih disarankan memakai instalable karena komponennya lebih lengkap.
DOWNLOAD VB6 PORTABLE : [/b]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,
E: Coding Modul
- bikin 1 modul, klik menu project --> add modules, berinama ModUniversal, masukkan code berikut:
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 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:
TAMBAHAN MEMBUAT PROPERTIES FORM INJECTOR CONTOH GAMBAR DISINI
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:
seterusnya tinggal isi value dari company name, dan file description, sesuai selera, jika udah klik ok.
misalnya company name diisi:WWW.BLABLANLA.CO.CC , dan File Descriptionnya : INJECTOR BY BLABLABLA..
Tutorial Pembuatan Simple Universal Injector (Tanpa Suspend)
Tingkat Tutorial : Beginner
Alat/tool yang diperlukan: [b]Microsoft Visual Basic 6 (VB6), bisa portable atau instalable. Lebih disarankan memakai instalable karena komponennya lebih lengkap.
DOWNLOAD VB6 PORTABLE : [/b]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.medanforum.co.cc", 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 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 ->
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:
seterusnya tinggal isi value dari company name, dan file description, sesuai selera, jika udah klik ok.
misalnya company name diisi:WWW.BLABLANLA.CO.CC , dan File Descriptionnya : INJECTOR BY BLABLABLA..
0 comments:
Post a Comment