S© ™ † ™ Welcome And Zone SnuterStar ™ †™ S©
† ™ Welcome And Zone SnuterStar ™ †™

[-]Yang Belum Punya User DI Snuter Harap Register.
[-]Yang Sudah Ada Di HarapKan Log In

~Thankz For ALL Snuterstar~
---------------------------------------------------------


S© ™ † ™ Welcome And Zone SnuterStar ™ †™ S©
 
VIP MEMBERIndeksCalendarFAQPencarianAnggotaGroupPendaftaranLoginGrup FacebOok
Login
Username:
Password:
Login otomatis: 
:: Lupa password?
Top posters
™♦TG_TRI♦™
 
cacad1234
 
Admin
 
dere7up
 
Citertasik87
 
oyekzzz
 
asal123
 
TrubleMarker
 
Neverland
 
alimaco09
 
Similar topics
Latest topics

Share | 
 

 Cara Membuat Injector PerX....

Topik sebelumnya Topik selanjutnya Go down 
PengirimMessage
CyberRyuza
™-Perfect_Member-™
™-Perfect_Member-™
avatar

Jumlah posting : 167
Reputation : 727
Cendol : 446
Join date : 24.05.12
Age : 19
Lacation : Di mana - mana

PostSubyek: Cara Membuat Injector PerX....    Thu Jun 28, 2012 2:36 pm


'PerX [R] Injector by Alan Januari
'Created Date: 2 Januari 2012

Credit goes to:
AgusWahidPrastyo a.k.a AWP-Slankers [www.awp1st.net]
rifqi36 [www.nyit-nyit.net]
RichardYusan a.k.a RCD [www.richardyusan.wordpress.com]
Reckless Youth [www.MPCforum.com]
Mark Thesing [www.VBforums.com]
Menthol [www.Forum Tetangga.Us] <~ thx for support

Fitur:
1.Multi Dll injection
2.Program akan diDelete secara otomatis jika:
-Nama Program diubah
-Nama Author diubah
-Hak cipta diubah
-Deskripsi program diubah
-Ukuran file(kb) berubah
-isi program dirubah dengan OllyDbg atau Debugger
3.Dapat menggunakan icon 32bit (Lihat keterangan gambar)
4.mendeteksi jika program yang akan diinject sedang running/berjalan
5.Hotkey [F1] sebagai pengganti tombol inject


PENTING !
KODE/SOURCE CODE INI TIDAK DIPERBOLEHKAN DI SHARE KE SITUS/FORUM MANAPUN TANPA IZIN DARI AUTHOR(GembelRasta)!!!
Untuk proteksi yang lebih baik gunakan VMProtect,UPX atau Exe compressor lain,Sesuaikan ukuran file pada Check_Size setelah di Compress
Informasi lebih lanjut kirim ke : rastasoul58@yahoo.co.id(Email & Facebook)


pertama-tama siapkan object berikut:
2 listbox

6 Label dengan caption:
label1>What to inject:
label2>What to inject:
label3>After Injection:
label4>label 4<masukkan kedalam picturebox,caranya klik label 4 kemudian cut(ctrl x) lalu klik picture box dan paste(ctrl v)
label5>Terserah agan mo nulis apa

5 CommandButton dengan caption:
command1>&Browse
command2>Remove &Selected
command3>&Clear List
command4>I&nject
command5>&Quit

2 OptionButton dengan caption:
Option1(0)>Automatically
Option1(1)>Manually
NB : control Option button dibuat control array

1 Checkbox dengan caption Quit when finished

1 textbox

5 timer
NB: Timer5 beri nama tmrDetect

1 Picture box

2 frame

1 CommonDialog dengan nama CD1

5 module dengan nama:
mod32BitIcon
modConfig
modDetect
modInjection
ModKillApp

Lalu copykan code berikut pada Form
'PerX [R] Injector by GembelRasta
'Created Date: 25 September 2011


'PerX [R] Injector by Alan Januari
'Created Date: 2 Januari 2012

'thanx to:
'AgusWahidPrastyo a.k.a AWP-Slankers [www.awp1st.net]
'rifqi36 [www.nyit-nyit.net]
'RichardYusan a.k.a RCD [www.richardyusan.blogspot.com]
'Reckless Youth [www.MPCforum.com]
'Mark Thesing [www.VBforums.com]

'Fitur:
'1.Multi Dll injection
'2.Program akan diDelete secara otomatis jika:
' -Nama Program diubah
' -Nama Author diubah
' -Hak cipta diubah
' -Deskripsi program diubah
' -Ukuran file(kb) berubah
' -isi program dirubah dengan OllyDbg atau Debugger
'3.Dapat menggunakan icon 32bit (Lihat keterangan gambar)
'4.mendeteksi jika program yang akan diinject sedang running/berjalan

'Penting !
'Code ini tidak boleh di share/dibagikan ke situs ataupun forum lain tanpa izin dari Author (GembelRasta)!
'Untuk proteksi yang lebih baik gunakan VMProtect,UPX atau Exe compressor lain,Sesuaikan ukuran file pada Check_Size setelah di Compress
'Informasi lebih lanjut kirim ke : vinonever@yahoo.com(Email & Facebook)
Option Explicit

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Dim DllPath As String

Private Declare Function IsDebuggerPresent Lib "kernel32" () 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 CloseHandle Lib "kernel32" ( _
ByVal hObject As Long) As Long
Private Declare Function EnumProcesses Lib "PSAPI.DLL" ( _
lpidProcess As Long, ByVal cb As Long, cbNeeded As Long) As Long
Private Declare Function EnumProcessModules Lib "PSAPI.DLL" ( _
ByVal hProcess As Long, lphModule As Long, ByVal cb As Long, lpcbNeeded As Long) As Long
Private Declare Function GetModuleBaseName Lib "PSAPI.DLL" Alias "GetModuleBaseNameA" ( _
ByVal hProcess As Long, ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

Private Const PROCESS_VM_READ = &H10
Private Const PROCESS_QUERY_INFORMATION = &H400

Private Function IsProcessRunning(ByVal sProcess As String) As Boolean
Const MAX_PATH As Long = 260
Dim lProcesses() As Long, lModules() As Long, N As Long, lRet As Long, hProcess As Long
Dim sName As String

sProcess = UCase$(sProcess)

ReDim lProcesses(1023) As Long
If EnumProcesses(lProcesses(0), 1024 * 4, lRet) Then
For N = 0 To (lRet \ 4) - 1
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, lProcesses(N))
If hProcess Then
ReDim lModules(1023)
If EnumProcessModules(hProcess, lModules(0), 1024 * 4, lRet) Then
sName = String$(MAX_PATH, vbNullChar)
GetModuleBaseName hProcess, lModules(0), sName, MAX_PATH
sName = Left$(sName, InStr(sName, vbNullChar) - 1)
If Len(sName) = Len(sProcess) Then
If sProcess = UCase$(sName) Then IsProcessRunning = True: Exit Function
End If
End If
End If
CloseHandle hProcess
Next N
End If
End Function

Function Check_OllyDBG()
If IsProcessRunning("ollydbg.exe") = True Then
Call DeleteAPP
Kill App.Path & "\PerX.ini"
MsgBox "Debugger Detected is running on your computer, please turn it down and reboot your computer", vbExclamation, "Error"
End
End If

End Function

Function Check_Debugger()
If IsDebuggerPresent <> 0 Then
Call DeleteAPP
Kill App.Path & "\PerX.ini"
MsgBox "Debugger Detected is running on your computer, please turn it down and reboot your computer", vbExclamation, "Error"
End
End If

End Function

Function Check_Size()
On Error GoTo err
If FileLen(App.EXEName + ".exe") <> 499712 Then '499712 adalah file size(kb) setelah dicompile,sesuaikan jika anda menggunakan VMProtect,UPX atau exe compressor lainnya
Call DeleteAPP
Kill App.Path & "\PerX.ini"
MsgBox "File Size is changed !, Application will delete from your computer...", vbCritical, "Error"
End
End If
err:
End Function

Function Check_Misc()
On Error Resume Next

If App.CompanyName <> "x1nixmzeng" Then 'jika credit author diganti
Call DeleteAPP 'aplikasi akan di delete secara otomatis
Kill App.Path & "\PerX.ini"
MsgBox "Company name has been changed, Application will delete from your computer...", vbCritical, "Error"
End
End If

If App.EXEName <> "PerX [R]" Then 'idem
Call DeleteAPP
Kill App.Path & "\PerX.ini"
MsgBox "File name has been changed, Application will delete from your computer...", vbCritical, "Error"
End
End If

If App.LegalCopyright <> "GembelRasta(c)2011" Then 'idem
Call DeleteAPP
Kill App.Path & "\PerX.ini"
MsgBox "Legal Copyright has been changed, Application will delete from your computer...", vbCritical, "Error"
End
End If

If App.FileDescription <> "x1nject" Then 'idem
Call DeleteAPP
Kill App.Path & "\PerX.ini"
MsgBox "File description has been changed, Application will delete from your computer...", vbCritical, "Error"
End
End If

End Function

Private Sub AddFileTitle(ByVal Gembel As String)

Dim I As Integer
Dim blnFileAlreadyexists As Boolean

Gembel = Trim(Gembel)
If Gembel <> "" Then
blnFileAlreadyexists = False
For I = 0 To List1.ListCount - 1
If Trim(List1.List(I)) = Gembel Then
blnFileAlreadyexists = True
End If
Next
If Not blnFileAlreadyexists Then
List1.AddItem Gembel
End If
End If
End Sub

Private Sub AddFileName(ByVal Gembel1 As String)

Dim I As Integer
Dim blnFileAlreadyexists As Boolean

Gembel1 = Trim(Gembel1)
If Gembel1 <> "" Then
blnFileAlreadyexists = False
For I = 0 To List2.ListCount - 1
If Trim(List2.List(I)) = Gembel1 Then
blnFileAlreadyexists = True
End If
Next
If Not blnFileAlreadyexists Then
List2.AddItem Gembel1
End If
End If
End Sub

Private Sub CenterForm(frm As Form)
frm.Top = Screen.Height / 2 - frm.Height / 2
frm.Left = Screen.Width / 2 - frm.Width / 2
End Sub
Private Sub Command1_Click()
With CD1
'.InitDir = App.Path & "\"
.Filter = "Dynamic Link Library (DLL)|*.dll"
.Flags = cdlOFNHideReadOnly
.ShowOpen
End With

AddFileTitle CD1.FileTitle
AddFileName CD1.FileName
List1.ListIndex = List1.ListCount - 1 'Sorot/Highlight nama file
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
If List1.Text = vbNullString Then
'Do nothing
Else
List1.RemoveItem List1.ListIndex
List1.ListIndex = List1.ListCount - 1
List2.RemoveItem List2.ListIndex
List2.ListIndex = List2.ListCount - 1
End If
End Sub

Private Sub Command3_Click()
List1.Clear
List2.Clear
End Sub

Private Sub Command4_Click()
Dim DllPath(6) As String
Dim X As Integer

DllPath(1) = List2.List(0)
DllPath(2) = List2.List(1)
DllPath(3) = List2.List(2)
DllPath(4) = List2.List(3)
DllPath(5) = List2.List(4)
DllPath(6) = List2.List(5)

For X = 1 To 6
InjectDll DllPath(X), ProsH
DoEvents
Next X

If Check1.Value = 1 Then 'Jika check 1 dicentang,maka :
Unload Me 'Injector akan menutup otomatis
Else 'jika tidak
Command3_Click 'clear Dll list
End If

End Sub

Private Sub Command5_Click()
Unload Me
End Sub

Private Sub Form_Load()
On Error Resume Next
Debug.Print 1 / 0
If err Then

'Pesan ini tidak akan muncul setelah program di compile ke exe
MsgBox "You will not get this message when the application is compiled." & Chr(10) & _
"________________________________________________" & vbCrLf & _
"Warning: Make sure you do not remove the debug-" & Chr(10) & _
" statement in the DeleteApp Sub." & Chr(10) & _
" This is a test to see if you are working within the IDE." & Chr(10) & _
" If you remove the debug statement -" & Chr(10) & _
" and you are working within the IDE," & Chr(10) & _
" the batch file will attempt to delete VB," & Chr(10) & _
" if you have not already saved the project." & vbCrLf & vbCrLf & _
" If you want to close this app just click Quit button" & Chr(10) & _
" Do not hit the End/Stop button on the IDE toolbar." & Chr(10) & _
"_______________________________________________" & Chr(10) & _
"" & Chr(10) & _
" Ace-Corporation(c)2012", vbInformation + vbOKOnly, "Information"
Me.Show
CenterForm Me
Else

Check_OllyDBG
Check_Debugger
Check_Size
Check_Misc

End If

Dim strFileTitle As String, lpstrFile As String
CenterForm Me 'Mengetengahkan Form
Call mod32BitIcon.SetIcon(Me.hwnd, "AAA") 'gunakan code ini menggunakan icon 32 bit,lihat folder "image" untuk keterangan

If App.PrevInstance Then 'Mencegah applikasi dijalankan 2 kali pada saat yang sama
End
End If

'Load data dari record
Text1.Text = Load("Program", "Name") 'Load nama Program dari record
If Text1.Text = Check Then Text1.Text = "Gunz.exe" 'jika record program tidak ditemukan

List2.List(0) = Load("Injections", "1") 'Load lokasi Dll 1 dari record
If List2.List(0) = Check Then 'Jika Lokasi Dll tidak ada dalam record maka :
List2.RemoveItem (0) 'Kosongkan list
Else: lpstrFile = List2.List(0)
strFileTitle = Right$(lpstrFile, Len(lpstrFile) - InStrRev(lpstrFile, "\"))
Me!List1.List(0) = strFileTitle 'Menampilkan nama Dll dari record ke list
List1.ListIndex = List1.ListCount - 1
End If

If List2.ListCount = 1 Then 'Idem dengan Dll 1
List2.List(1) = Load("Injections", "2")
If List2.List(1) = Check Then
List2.RemoveItem (1)
Else: lpstrFile = List2.List(1)
strFileTitle = Right$(lpstrFile, Len(lpstrFile) - InStrRev(lpstrFile, "\"))
Me!List1.List(1) = strFileTitle
List1.ListIndex = List1.ListCount - 1
End If
End If

If List2.ListCount = 2 Then 'Idem dengan Dll 1
List2.List(2) = Load("Injections", "3")
If List2.List(2) = Check Then
List2.RemoveItem (2)
Else: lpstrFile = List2.List(2)
strFileTitle = Right$(lpstrFile, Len(lpstrFile) - InStrRev(lpstrFile, "\"))
Me!List1.List(2) = strFileTitle
List1.ListIndex = List1.ListCount - 1
End If
End If

If List2.ListCount = 3 Then 'Idem dengan Dll 1
List2.List(3) = Load("Injections", "4")
If List2.List(3) = Check Then
List2.RemoveItem (3)
Else: lpstrFile = List2.List(3)
strFileTitle = Right$(lpstrFile, Len(lpstrFile) - InStrRev(lpstrFile, "\"))
Me!List1.List(3) = strFileTitle
List1.ListIndex = List1.ListCount - 1
End If
End If

If List2.ListCount = 4 Then 'Idem dengan Dll 1
List2.List(4) = Load("Injections", "5")
If List2.List(4) = Check Then
List2.RemoveItem (4)
Else: lpstrFile = List2.List(4)
strFileTitle = Right$(lpstrFile, Len(lpstrFile) - InStrRev(lpstrFile, "\"))
Me!List1.List(4) = strFileTitle
List1.ListIndex = List1.ListCount - 1
End If
End If

If List2.ListCount = 5 Then 'Idem dengan Dll 1
List2.List(5) = Load("Injections", "6")
If List2.List(5) = Check Then
List2.RemoveItem (5)
Else: lpstrFile = List2.List(5)
strFileTitle = Right$(lpstrFile, Len(lpstrFile) - InStrRev(lpstrFile, "\"))
Me!List1.List(5) = strFileTitle
List1.ListIndex = List1.ListCount - 1
End If
End If

If List2.ListCount = 6 Then 'Idem dengan Dll 1
List2.List(6) = Load("Injections", "7")
If List2.List(6) = Check Then
List2.RemoveItem (6)
Else: lpstrFile = List2.List(6)
strFileTitle = Right$(lpstrFile, Len(lpstrFile) - InStrRev(lpstrFile, "\"))
Me!List1.List(6) = strFileTitle
List1.ListIndex = List1.ListCount - 1
End If
End If

If List2.ListCount = 7 Then 'Idem dengan Dll 1
List2.List(7) = Load("Injections", "8")
If List2.List(7) = Check Then
List2.RemoveItem (7)
Else: lpstrFile = List2.List(7)
strFileTitle = Right$(lpstrFile, Len(lpstrFile) - InStrRev(lpstrFile, "\"))
Me!List1.List(7) = strFileTitle
List1.ListIndex = List1.ListCount - 1
End If

If List2.ListCount = 8 Then 'Idem dengan Dll 1
List2.List(Cool = Load("Injections", "9")
If List2.List(Cool = Check Then
List2.RemoveItem (Cool
Else: lpstrFile = List2.List(Cool
strFileTitle = Right$(lpstrFile, Len(lpstrFile) - InStrRev(lpstrFile, "\"))
Me!List1.List(Cool = strFileTitle
List1.ListIndex = List1.ListCount - 1
End If

If List2.ListCount = 9 Then 'Idem dengan Dll 1
List2.List(9) = Load("Injections", "10")
If List2.List(9) = Check Then
List2.RemoveItem (9)
Else: lpstrFile = List2.List(9)
strFileTitle = Right$(lpstrFile, Len(lpstrFile) - InStrRev(lpstrFile, "\"))
Me!List1.List(9) = strFileTitle
List1.ListIndex = List1.ListCount - 1
End If
End If
End If
End If

Check1.Value = 1
Option1(1).Value = True
Timer1.Enabled = False
Timer3.Enabled = False
Timer1.Interval = 20
Timer2.Interval = 1
tmrDetect.Interval = 20
Command4.Enabled = False
List2.Visible = False

End Sub

Private Sub Form_Unload(Cancel As Integer)

Call Save("Program", "Name", Text1.Text) 'Save Nama program

If Option1(1).Value = True Then 'Save settings
Call Save("Program", "Auto", 0)
Else
Call Save("Program", "Auto", 1)
End If

Call Save("Program", "Quit", Check1.Value)

If List2.ListCount = 0 Then
Call Save("Injections", vbNullString, vbNullString)
Else
Call Save("Injections", "Num", List1.ListCount) 'Save jumlah Dll ke record
End If

Call Save("Injections", "1", List2.List(0)) 'Save Lokasi Dll 1
Call Save("Injections", "2", List2.List(1)) 'Save Lokasi Dll 2
Call Save("Injections", "3", List2.List(2)) 'Save Lokasi Dll 3
Call Save("Injections", "4", List2.List(3)) 'Save Lokasi Dll 4
Call Save("Injections", "5", List2.List(4)) 'Save Lokasi Dll 5
Call Save("Injections", "6", List2.List(5)) 'Save Lokasi Dll 6
Call Save("Injections", "7", List2.List(6)) 'Save Lokasi Dll 7
Call Save("Injections", "8", List2.List(7)) 'Save Lokasi Dll 8
Call Save("Injections", "9", List2.List(Cool) 'Save Lokasi Dll 9
Call Save("Injections", "10", List2.List(9)) 'Save Lokasi Dll 10

OpenURL "Type your site here", Me.hwnd 'auto open URL setelah form di close

End Sub

Private Sub Option1_Click(Index As Integer)
Select Case Index
Case 0 'Jika Auto Inject dipilih
Label4.Caption = "Waiting for injection.."
Check1.Enabled = False
tmrDetect.Enabled = False
Timer4.Enabled = True
Timer4.Interval = 20
Case 1 ' Jika Manual Inject dipilih
Label4.Caption = "Waiting program to start.."
Check1.Enabled = True
tmrDetect.Enabled = True
Timer4.Enabled = False

End Select
End Sub

Private Sub Text1_GotFocus()
SendKeys "{HOME}+{END}"
End Sub

Private Sub Timer1_Timer()
If List1.Selected(0) = True Then
List2.Selected(0) = True
ElseIf List1.Selected(1) = True Then
List2.Selected(1) = True
ElseIf List1.Selected(2) = True Then
List2.Selected(2) = True
ElseIf List1.Selected(3) = True Then
List2.Selected(3) = True
ElseIf List1.Selected(4) = True Then
List2.Selected(4) = True
ElseIf List1.Selected(5) = True Then
List2.Selected(5) = True
ElseIf List1.Selected(6) = True Then
List2.Selected(6) = True
ElseIf List1.Selected(7) = True Then
List2.Selected(7) = True
ElseIf List1.Selected(Cool = True Then
List2.Selected(Cool = True
ElseIf List1.Selected(9) = True Then
List2.Selected(9) = True
End If
End Sub

Private Sub Timer2_Timer()

If List1.Text = vbNullString And List2.Text = vbNullString Then
Timer1.Enabled = False
Else
Timer1.Enabled = True
End If

If List1.ListCount < 10 Then 'Jika jumlah Dll dibawah 6 maka :
Command1.Enabled = True 'Enable command6/Browse
Else 'jika Dll=6 maka
Command1.Enabled = False 'Disable command6
End If
End Sub

Private Sub Timer3_Timer()

If GetAsyncKeyState(vbKeyF1) Then 'Jika F1 ditekan(NB:Hotkey bisa diganti sesuai keinginan)
Command4_Click 'Inject Dll
End If

End Sub

Private Sub Timer4_Timer()
Dim DllPath(6) As String
Dim X As Integer

ProsH = GetHProcExe(Text1.Text) 'Deteksi process
If ProsH = 0 Then 'jika proces tidak ditemukan
Label4.Caption = "Waiting for injection.."
Command4.Enabled = False
Timer3.Enabled = False
Else 'Jika process ditemukan
If List1.Text = vbNullString Then
Timer3.Enabled = False
Command4.Enabled = False
Label4.Caption = "Select Dll for inject.."
Else
DllPath(1) = List2.List(0) 'lokasi/Path Dll 1
DllPath(2) = List2.List(1) 'lokasi/Path Dll 2
DllPath(3) = List2.List(2) 'lokasi/Path Dll 3
DllPath(4) = List2.List(3) 'lokasi/Path Dll 4
DllPath(5) = List2.List(4) 'lokasi/Path Dll 5
DllPath(6) = List2.List(5) 'lokasi/Path Dll 6

For X = 1 To 6
InjectDll DllPath(X), ProsH
DoEvents
Next X

If Check1.Value = 1 Then 'Jika check 1 dicentang,maka :
Unload Me 'Injector akan menutup otomatis
Else 'jika tidak
Command3_Click 'clear Dll list
End If
End If
End If
End Sub

Private Sub tmrDetect_Timer()
ProsH = GetHProcExe(Text1.Text) 'Deteksi process
If ProsH = 0 Then 'jika proces tidak ditemukan
Label4.Caption = "Waiting program to start.."
Command4.Enabled = False
Timer3.Enabled = False
Else 'Jika process ditemukan dan Dll tidak ada
If List1.Text = vbNullString Then
Timer3.Enabled = False
Command4.Enabled = False
Label4.Caption = "Select Dll for inject.."
Else ' Jika Dll dan Program Ditemukan
Label4.Caption = "Process found!,Waiting for injection.."
Command4.Enabled = True
Timer3.Enabled = True
Timer3.Interval = 20
End If

End If
End Sub

mod32
Option Explicit

'untuk memasukkan icon 32bit menggunakan ResHack
'Lihat folder "Image" untuk keterangan dengan gambar

Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Private Const SM_CXICON = 11
Private Const SM_CYICON = 12

Private Const SM_CXSMICON = 49
Private Const SM_CYSMICON = 50

Private Declare Function LoadImageAsString Lib "user32" Alias "LoadImageA" ( _
ByVal hInst As Long, _
ByVal lpsz As String, _
ByVal uType As Long, _
ByVal cxDesired As Long, _
ByVal cyDesired As Long, _
ByVal fuLoad As Long _
) As Long

Private Const LR_SHARED = &H8000&

Private Const IMAGE_ICON = 1

Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long _
) As Long

Private Const WM_SETICON = &H80

Private Const ICON_SMALL = 0
Private Const ICON_BIG = 1

Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Const GW_OWNER = 4


Public Sub SetIcon(ByVal hwnd As Long, ByVal sIconResName As String, Optional ByVal bSetAsAppIcon As Boolean = True)
Dim lhWndTop As Long
Dim lhWnd As Long
Dim cx As Long
Dim cy As Long
Dim hIconLarge As Long
Dim hIconSmall As Long

If (bSetAsAppIcon) Then

lhWnd = hwnd
lhWndTop = lhWnd
Do While Not (lhWnd = 0)
lhWnd = GetWindow(lhWnd, GW_OWNER)
If Not (lhWnd = 0) Then
lhWndTop = lhWnd
End If
Loop
End If

cx = GetSystemMetrics(SM_CXICON)
cy = GetSystemMetrics(SM_CYICON)

hIconLarge = LoadImageAsString(App.hInstance, sIconResName, IMAGE_ICON, cx, cy, LR_SHARED)

If (bSetAsAppIcon) Then
SendMessageLong lhWndTop, WM_SETICON, ICON_BIG, hIconLarge
End If

SendMessageLong hwnd, WM_SETICON, ICON_BIG, hIconLarge

cx = GetSystemMetrics(SM_CXSMICON)
cy = GetSystemMetrics(SM_CYSMICON)
hIconSmall = LoadImageAsString(App.hInstance, sIconResName, IMAGE_ICON, cx, cy, LR_SHARED)

If (bSetAsAppIcon) Then
SendMessageLong lhWndTop, WM_SETICON, ICON_SMALL, hIconSmall
End If

SendMessageLong hwnd, WM_SETICON, ICON_SMALL, hIconSmall

End Sub

modConfig
Option Explicit

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
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyName As Any, ByVal lsString As Any, ByVal lplFilename As String) As Long
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationname As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Check As String

Public Function Load(Section As String, Key As String) As String
Dim lngResult As Long
Dim strFileName
Dim strResult As String * 300
strFileName = App.Path & "\PerX.ini"
lngResult = GetPrivateProfileString(Section, Key, strFileName, strResult, Len(strResult), strFileName)
Check = App.Path & "\PerX.ini"
Load = Trim(strResult)
End Function

Public Function Save(Section As String, Key As String, Content As String)
Dim lngResult As Long
Dim strFileName
strFileName = App.Path & "\PerX.ini"
lngResult = WritePrivateProfileString(Section, Key, Content, strFileName)
End Function

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

modDetect
Option Explicit

Public Const PROCESS_ALL_ACCESS As Long = &H1F0FFF
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal Classname As String, ByVal WindowName As String) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID 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 Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)

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 * 260
End Type

Public Function GetHProcExe(strExeName As String) As Long
Dim hSnap As Long

hSnap = CreateToolhelpSnapshot(2, 0)

Dim peProcess As PROCESSENTRY32
peProcess.dwSize = LenB(peProcess)

Dim nProcess As Long
nProcess = Process32First(hSnap, peProcess)

Do While nProcess
If StrComp(Trim$(peProcess.szExeFile), strExeName, vbTextCompare) _
= 0 Then
GetHProcExe = OpenProcess(PROCESS_ALL_ACCESS, False, peProcess.th32ProcessID)
Exit Function
End If
peProcess.szExeFile = vbNullString
nProcess = Process32Next(hSnap, peProcess)
Loop
CloseHandle hSnap
End Function

modInjection
ler

Option Explicit

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 LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName 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
Public 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 ProsH As Long

Public Function InjectDll(DllPath As String, ProsH As Long)
Dim DLLVirtLoc As Long, DllLength, Inject As Long, LibAddress As Long
Dim CreateThread As Long, ThreadID As Long

Beep
Form1.Label4.Caption = "Dll succesfully injected!"
DllLength = Len(DllPath)
DLLVirtLoc = VirtualAllocEx(ProsH, ByVal 0, DllLength, &H1000, ByVal &H4)
If DLLVirtLoc = 0 Then Form1.Label4.Caption = "VirtualAllocEx API failed!": Exit Function

Inject = WriteProcessMemory(ProsH, DLLVirtLoc, ByVal DllPath, DllLength, vbNull)
If Inject = 0 Then Form1.Label4.Caption = "Failed to Write DLL to Process!"
Form1.Label4.Caption = "Dll Injected...Creating Thread....."

LibAddress = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
If LibAddress = 0 Then Form1.Label4.Caption = "Can't find LoadLibrary API from kernel32.dll": Exit Function

CreateThread = CreateRemoteThread(ProsH, vbNull, 0, LibAddress, DLLVirtLoc, 0, ThreadID)
If CreateThread = 0 Then Form1.Label4.Caption = "Failed to Create Thread!"
Form1.Label4.Caption = "Dll Injection Successful!"
End Function


ModKillApp
Option Explicit

Public strBatName As String

Private Declare Function GetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

Private Sub GetName()

Dim strBatDir As String
Dim lenBatDir As Long
Dim I As Long
Dim strExe As String
Dim LenAppDir As Long
Dim strAppDir As String

strAppDir = Space(256)

If Right(App.Path, 1) <> "\" Then
strExe = "\" & App.EXEName
Else
strExe = App.EXEName
End If

MkDir App.Path & strExe

LenAppDir = GetShortPathName(App.Path & strExe, strAppDir, 256)

RmDir App.Path & strExe

strAppDir = Left(strAppDir, LenAppDir)
strAppDir = strAppDir & ".exe"

strBatDir = Space(256)
lenBatDir = GetShortPathName(Environ$("windir"), strBatDir, 256)
strBatDir = Left(strBatDir, lenBatDir)

If Right(strBatDir, 1) <> "\" Then
strBatDir = strBatDir & "\"
End If

I = 1
Do Until Len(Dir(strBatDir & I & ".bat")) = 0
I = I + 1
Loop

strBatName = strBatDir & I & ".bat"

Open strBatName For Output As #1
Print #1, "@echo off"
Print #1, ":redo"
Print #1, "del "; strAppDir
Print #1, "if exist "; strAppDir; " goto redo"
Print #1, "del "; strBatName
Close #1

End Sub

Public Sub DeleteAPP()
On Error GoTo IDEerr

GetName

Debug.Print 1 \ 0

Shell strBatName, vbHide

Exit Sub
IDEerr:
Kill strBatName
End Sub

Jangan Lupa Cendol Gann +++

:12: :12:
Kembali Ke Atas Go down
Lihat profil user
 

Cara Membuat Injector PerX....

Topik sebelumnya Topik selanjutnya Kembali Ke Atas 

 Similar topics

-
» [GUIDES] Roleplay menjadi Gangster
» Cara RP berantam/bertarung.Mengeluarkan senjata yang benar/menembak orang dengan benar.
» Server Donation List
» RolePlay Dengan Baik
» [SHW] GTA V HUD by DK22PAC
Halaman 1 dari 1

Permissions in this forum:Anda tidak dapat menjawab topik
S© ™ † ™ Welcome And Zone SnuterStar ™ †™ S©  :: Snuterstar l Gamesz :: POpulerz Gamerz :: LostSaga-