Senin, 01 Agustus 2011

Membuat Injector + Mengganti Skin Baground-nya

Kali ini orang yang paling ganteng akan share tutorial bagaimana caranya membuat injector pluss mengganti baground-nya
mungkin kalian ingin seperti injector dibawah sini..


Spoiler

Posted Image

nahhh... itulah topik yang ingin saya bahas ok

Untuk FORM 1
pembuatanya cukup simple kok.... sediakan saja

Komponentnya :

buat 2 form dengan nama form1 dan form2
buat 5 command button, masing2 beri nama : command1,command2,cmdInjector,cmdExecute,cmdTerminate.
untuk cmdInjector beri nama caption "Select DLL For Inject" tanpa tanda kutip
untuk cmdExecute beri nama caption "Resume".
untuk cmdTerminate beri nama caption "Terminate"
buat timer pada form, masing2 beri nama : timer1 dan timer2

masukan source ini pada form1
Spoiler
'tutorial injector with
'change menu skin'By Hades The God Of Underworld
'Dedicated to Blazetorm & N3'Hades Always ganteng

Private resmue As String
Private winHwnd As Long
Private bSuspend As Boolean
Dim imag, str As String
Dim t As Date
Dim flag As Integer
Dim cleardispl As Boolean
Dim operand2 As Double
Dim operand1 As Double
Dim operator As String

Private Sub changeskin_Click()
form2.Show
End Sub

Private Sub cmdExecute_Click()
    resmue = "yes"
    Unload Me
End Sub

Private Sub cmdInjector_Click()
On Error GoTo errLine

If Not cmdInjector.Caption = "Inject Now" Then
        Dim theTemp As String
        theTemp = OpenDialog(Me, "DLL files (*.dll)|*.dll", "Select DLL File For Inject...", App.Path)
        If Trim$(theTemp) <> "" Then
            If Dir$(theTemp) <> "" Then
                sFlDLL = theTemp
                cmdInjector.Caption = "Inject Now"
            Else
                sFlDLL = "None"
                cmdInjector.Caption = "Select DLL For Inject"
            End If
        End If
        Else
            If sFlDLL = "None" Then
                        MsgBox "You can't Injector execute", 48, "Error Injector"
                        Exit Sub
                        Else
            InjectExecute sFlDLL
            sFlDLL = "None"
            cmdInjector.Caption = "Select DLL For Inject"
            End If
End If

    Exit Sub
errLine:
        MsgBox "File tidak respon atau tidak support", 48, "Error"
End Sub


Private Sub cmdTerminate_Click()
    resmue = "yes"
    On Error Resume Next
    Dim lExitCode As Long
    If MsgBox("Terminate Hackshield sekarang?", _
        vbYesNo + vbExclamation, "Terminate Proses") = vbYes Then
        lExitCode = TerminateTargetOne
        If lExitCode = 0 Then
            MsgBox "Proses terminate gagal.", _
            vbExclamation, "Terminate info"
            cmdTerminate.Enabled = False
        Else
            lExitCode = TerminateTargetTwo
            If lExitCode = 0 Then
                        MsgBox "Proses terminate sukses.", _
                        vbExclamation, "Terminate info"
            Else
                        Unload Me
            End If
        End If
    End If
End Sub

Private Sub Command1_Click()
InjectExecute App.Path & "\example1.dll"
End Sub

Private Sub Command2_Click()
InjectExecute App.Path & "\example2.dll"
End Sub

Private Sub Form_Load()
flag = 0
On Error GoTo fileerror
Input #1, imag
Close #1

FileName = GetSetting(App.Title, "setting", "imag")
Form1.Picture = LoadPicture(imag)
form2.Text1.Text = imag
fileerror:

    bSuspend = False
    Me.Left = (Screen.Width - Width) / 2
'    Me.Top = -1000
    Timer2.Interval = 20
    Timer2.Enabled = True
    FileTargetOne = "PointBlank.exe"
    FileTargetTwo = "HSUpdate.exe"

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Screen.MousePointer = vbDefault
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If bSuspend = True Then

If Not resmue = "yes" Then

    If MsgBox("Klik Yes untuk Terminate (PB dan HS) dan No Untuk Membatalkan", vbYesNo, "") = vbYes Then
    cmdTerminate_Click
    Else
    Cancel = -1
    End If

Else
OpenURL "http://www.blazetorm.net", Me.hwnd
End If
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
    If bSuspend = True Then SetSuspendResumeThread False
    End
End Sub

Private Sub Timer1_Timer()
    winHwnd = FindWindow(vbNullString, "HSUpdate")
        If winHwnd <> 0 Then
            NTProcessList
            SetSuspendResumeThread True
            cmdTerminate.Enabled = True
            cmdExecute.Enabled = True
            cmdInjector.Enabled = True
'pengaturan tombol jadi aktif
            Command1.Enabled = True
            Command2.Enabled = True
            bSuspend = True
            Vibrate Me, 100, 20
            MoveToTop
            Timer1.Enabled = False
        Else
            cmdTerminate.Enabled = False
            cmdExecute.Enabled = False
            cmdInjector.Enabled = False
            
            Timer1.Enabled = True
            bSuspend = False
        End If
End Sub

Private Sub Timer2_Timer()
   Me.Top = (Screen.Height - Height) / 2
   Timer2.Enabled = False
   Timer1.Enabled = True
   Timer1.Interval = 20
End Sub

Sub SlideWindow(frmSlide As Form, iSpeed As Integer)
While frmSlide.Top - frmSlide.Height < Screen.Height
DoEvents
frmSlide.Top = frmSlide.Top + iSpeed
Wend
End Sub

Private Sub MoveToTop()
    Dim currentTop As Long
    Dim TargetTop As Long
    Dim currentLeft As Long
    Dim TargetLeft As Long
    
    Dim i As Long
    currentTop = Me.Top
    TargetTop = (Screen.Height - Height) / 50
    
    For i = currentTop To TargetTop Step -2
        Me.Top = i
    Next i
    
    currentLeft = Me.Left
    TargetLeft = (Screen.Width - Me.Width) - 100
    
    For i = currentLeft To TargetLeft Step 2
        Me.Left = i
    Next i
End Sub

Private Sub Vibrate(Frm As Form, rScale As Integer, Times As Integer)
Dim Lft As Long, Tp As Long
Dim i
Lft = Frm.Left
Tp = Frm.Top
For i = 1 To Times
Frm.Move Lft + Sgn(rScale)
Pause 20
Frm.Move Lft + rScale
Pause 20
Frm.Move Lft, Tp + Sgn(rScale), Frm.Width, Frm.Height
Pause 20
Frm.Move Lft, Tp + rScale, Frm.Width, Frm.Height
Pause 20
Next i
End Sub

Private Sub Pause(ms)
Dim secs
Dim g
secs = ms / 1000
g = Timer
Do While Timer - g < secs
DoEvents
Loop
End Sub

'Created by Hades@Blazetorm.Net
'Special Thx to
'All People who make me crazzy !


lalu buatlah adonan kue dari telor, susu, margarin, merica, dan saus atau buatlah
4 module ModCDialog,ModInjector, ModBrowser, dan ModProcess.

Masukan Source ini pada ModCDialog
Spoiler
Option Explicit
'Common Dialog
Private Type OPENFILENAME
    lStructSize As Long
    hWndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    Flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type

Public Const OFN_READONLY = &H1
Public Const OFN_OVERWRITEPROMPT = &H2
Public Const OFN_HIDEREADONLY = &H4
Public Const OFN_NOCHANGEDIR = &H8
Public Const OFN_SHOWHELP = &H10
Public Const OFN_ENABLEHOOK = &H20
Public Const OFN_ENABLETEMPLATE = &H40
Public Const OFN_ENABLETEMPLATEHANDLE = &H80
Public Const OFN_NOVALIDATE = &H100
Public Const OFN_ALLOWMULTISELECT = &H200
Public Const OFN_EXTENSIONDIFFERENT = &H400
Public Const OFN_PATHMUSTEXIST = &H800
Public Const OFN_FILEMUSTEXIST = &H1000
Public Const OFN_CREATEPROMPT = &H2000
Public Const OFN_SHAREAWARE = &H4000
Public Const OFN_NOREADONLYRETURN = &H8000
Public Const OFN_NOTESTFILECREATE = &H10000
Public Const OFN_NONETWORKBUTTON = &H20000
Public Const OFN_NOLONGNAMES = &H40000                      '  force no long names for 4.x modulesPublic Const OFN_EXPLORER = &H80000                                                             '  new look commdlg
Public Const OFN_NODEREFERENCELINKS = &H100000
Public Const OFN_LONGNAMES = &H200000                                                           '  force long names for 3.x modulesPublic Const OFN_SHAREFALLTHROUGH = 2
Public Const OFN_SHARENOWARN = 1
Public Const OFN_SHAREWARN = 0
Private Declare Function GetOpenFileName Lib "COMDLG32.DLL" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Declare Function GetSaveFileName Lib "COMDLG32.DLL" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
'Browse Folder Declarations
Private Type BrowseInfo
    hWndOwner As Long
    pIDLRoot As Long
    pszDisplayName As Long
    lpszTitle As Long
    ulFlags As Long
    lpfnCallback As Long
    lParam As Long
    iImage As Long
End Type
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const MAX_PATH = 260
Public Const BIF_STATUSTEXT = &H4&
Public Const BIF_DONTGOBELOWDOMAIN = 2
Public Const WM_USER = &H400
Public Const BFFM_INITIALIZED = 1
Public Const BFFM_SELCHANGED = 2
Public Const BFFM_SETSTATUSTEXT = (WM_USER + 100)
Public Const BFFM_SETSELECTION = (WM_USER + 102)

Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long

Function OpenDialog(Form1 As Form, Filter As String, Title As String, InitDir As String) As String
Dim ofn As OPENFILENAME
Dim A As Long
Dim theTemp As String

    ofn.lStructSize = Len(ofn)
    ofn.hWndOwner = Form1.hwnd
    ofn.hInstance = App.hInstance
    If Right$(Filter, 1) <> "|" Then Filter = Filter + "|"
    For A = 1 To Len(Filter)
        If Mid$(Filter, A, 1) = "|" Then Mid$(Filter, A, 1) = Chr$(0)
    Next
    ofn.lpstrFilter = Filter
    ofn.lpstrFile = Space$(254)
    ofn.nMaxFile = 255
    ofn.lpstrFileTitle = Space$(254)
    ofn.nMaxFileTitle = 255
    ofn.lpstrInitialDir = InitDir
    ofn.lpstrTitle = Title
    ofn.Flags = OFN_HIDEREADONLY Or OFN_FILEMUSTEXIST
    A = GetOpenFileName(ofn)

    If (A) Then
        theTemp = Trim$(ofn.lpstrFile)
        If Asc(Right$(theTemp, 1)) = 0 Then theTemp = Left$(theTemp, Len(theTemp) - 1)
        OpenDialog = theTemp
    Else
        OpenDialog = ""
    End If
End Function

Public Function BrowseForFolder(hWndOwner As Long, sPrompt As String) As String
'**************************************
' Name: Win95DirectoryPrompt
' Description:Prompting the User for a D'       irectory in Win95. Windows' common dialo'       gs are great if you want the user to sel
'       ect a file, but what if you want them to'       select a directory? Call the following f
'       unction, which relies on Win32's new SHB
'       rowseForFolder function:
' By: Found on the World Wide Web
Dim iNull As Integer
Dim lpIDList As Long
Dim lResult As Long
Dim sPath As String
Dim udtBI As BrowseInfo


    With udtBI
        .hWndOwner = hWndOwner
        .lpszTitle = lstrcat(sPrompt, "")
        .ulFlags = BIF_RETURNONLYFSDIRS
    End With
    lpIDList = SHBrowseForFolder(udtBI)


    If lpIDList Then
        sPath = String$(MAX_PATH, 0)
        lResult = SHGetPathFromIDList(lpIDList, sPath)
        Call CoTaskMemFree(lpIDList)
        iNull = InStr(sPath, vbNullChar)


        If iNull Then
            sPath = Left$(sPath, iNull - 1)
        End If
    End If
    If InStr(LCase$(sPath), "\nethood") > 0 Then
        MsgBox "The item that you selected is a folder shortcut, not a folder.", vbCritical, "Browse Folders"
        BrowseForFolder = ""
    Else
        BrowseForFolder = sPath
    End If
End Function


masukan source ini pada ModInjector
Spoiler
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
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds 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
    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 Function
            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 Function
        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 Function
            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 Function
            End If
    End If
    
    MsgBox "Dll Injection Successful!", 64, "Success"
End Function
Public Sub InjectExecute(ByVal sFlDLL As String)
    Dim lProcInject As Long
    lProcInject = OpenProcess(PROCESS_ALL_ACCESS, 0, IdTargetOne)
    If lProcInject > "0" Then
        Call InjectDll(sFlDLL, lProcInject)
    End If
    Call CloseHandle(lProcInject)
End Sub


masukan source ini pada ModBrowser
Spoiler
'modul buka browser
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

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


Masukan Source ini pada ModProcess
Spoiler
Option Explicit
Public Declare Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal Classname As String, ByVal WindowName As String) As Long
Public Declare Function PostMessage Lib "USER32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function Process32First Lib _
    "kernel32" (ByVal hSnapShot As Long, _
    uProcess As PROCESSENTRY32) As Long
Public Declare Function Process32Next Lib _
    "kernel32" (ByVal hSnapShot As Long, _
    uProcess As PROCESSENTRY32) As Long
Public Declare Function CloseHandle Lib _
    "kernel32" (ByVal hObject As Long) As Long
Public FileTargetOne As String
Public FileTargetTwo As String
Public sFlDLL As String
Public IdTargetOne As Long
Private IdTargetTwo As Long
Private Const TH32CS_SNAPHEAPLIST = &H1Private Const TH32CS_SNAPPROCESS = &H2Private Const TH32CS_SNAPTHREAD = &H4Private Const TH32CS_SNAPMODULE = &H8Private Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or _
    TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Private Const MAX_PATH = 260
Public Const PROCESS_ALL_ACCESS = &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_PATHEnd 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
Private Const THREAD_SUSPEND_RESUME = &H2Private Declare Function OpenThread Lib _
    "kernel32.dll" (ByVal dwDesiredAccess As Long, _
    ByVal bInheritHandle As Boolean, _
    ByVal dwThreadId As Long) As Long
Private Declare Function ResumeThread Lib _
    "kernel32.dll" (ByVal hThread As Long) As Long
Private Declare Function SuspendThread Lib _
    "kernel32.dll" (ByVal hThread As Long) As Long
Private hThread 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 GetFileTitle Lib _
    "COMDLG32.DLL" Alias "GetFileTitleA" ( _
    ByVal lpszFile As String, _
    ByVal lpszTitle As String, _
    ByVal cbBuf As Integer) As Integer
    Private Declare Function Thread32First Lib _
    "kernel32.dll" (ByVal hSnapShot As Long, _
    ByRef lpte As THREADENTRY32) As Boolean
Private Declare Function Thread32Next Lib _
    "kernel32.dll" (ByVal hSnapShot As Long, _
    ByRef lpte As THREADENTRY32) As Boolean
    Public Declare Function OpenProcess Lib _
    "kernel32" (ByVal dwDesiredAccess As Long, _
    ByVal bInheritHandle As Long, _
    ByVal dwProcessId As Long) As Long
    Private Declare Function TerminateProcess Lib _
    "kernel32" (ByVal hProcess As Long, _
    ByVal uExitCode As Long) As Long
Public Function NTProcessList() As Long
    On Error Resume Next
    Dim FileName As String, ExePath As String
    Dim hProcSnap As Long, hModuleSnap As Long, _
        lProc As Long
    Dim uProcess As PROCESSENTRY32, _
        uModule As MODULEENTRY32
    Dim intLVW As Integer
    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 FileTargetOne = FileName Then IdTargetOne = uProcess.th32ProcessID
                If FileTargetTwo = FileName Then IdTargetTwo = uProcess.th32ProcessID
            End If
        End If
        lProc = Process32Next(hProcSnap, uProcess)
    Loop
    Call CloseHandle(hProcSnap)
    Call CloseHandle(lProc)
End Function
Function StripNulls(ByVal sStr As String) As String
    StripNulls = Left$(sStr, lstrlen(sStr))
End Function
Public Function GetFName(fn) As String
Dim f%, n%
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 Function


Private Function Thread32Enum(ByRef Thread() As THREADENTRY32, _
    ByVal lProcessID As Long) As Long
    On Error Resume Next
    ReDim Thread(0)
    Dim THREADENTRY32 As THREADENTRY32
    Dim hThreadSnap As Long
    Dim lThread As Long
    hThreadSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, lProcessID)
    THREADENTRY32.dwSize = Len(THREADENTRY32)
    If Thread32First(hThreadSnap, THREADENTRY32) = False Then
        Thread32Enum = -1
        Exit Function
    Else
        ReDim Thread(lThread)
        Thread(lThread) = THREADENTRY32
    End If
    Do
        If Thread32Next(hThreadSnap, THREADENTRY32) = False Then
            Exit Do
        Else
            lThread = lThread + 1
            ReDim Preserve Thread(lThread)
            Thread(lThread) = THREADENTRY32
        End If
    Loop
    Thread32Enum = lThread
    Call CloseHandle(hThreadSnap)
End Function

Public Function SetSuspendResumeThread(SuspendNow As Boolean) As Long
    Dim Thread() As THREADENTRY32, hPID As Long, hThread As Long, i As Long
    hPID = IdTargetOne
    Thread32Enum Thread(), hPID
    For i = 0 To UBound(Thread)
        If Thread(i).th32OwnerProcessID = hPID Then
            hThread = OpenThread(THREAD_SUSPEND_RESUME, False, (Thread(i).th32ThreadID))
            If SuspendNow = True Then
                SetSuspendResumeThread = SuspendThread(hThread)
            Else
                SetSuspendResumeThread = ResumeThread(hThread)
            End If
        End If
    Next i
    Call CloseHandle(hThread)
End Function

Public Function TerminateTargetOne() As Long
    Dim hPID As Long
    hPID = OpenProcess(PROCESS_ALL_ACCESS, 0, IdTargetOne)
    TerminateTargetOne = TerminateProcess(hPID, 0)
    Call CloseHandle(hPID)
End Function

Public Function TerminateTargetTwo() As Long
    Dim hPID As Long
    hPID = OpenProcess(PROCESS_ALL_ACCESS, 0, IdTargetTwo)
    TerminateTargetTwo = TerminateProcess(hPID, 0)
    Call CloseHandle(hPID)
End Function


Nahhh... untuk bagian FORM 1 sudah selesai langkah selanjutnya adalah buatlah form 2

Untuk FORM 2
beri komponent-komponent-nya


- 1 Common Dialog
- 3 Command Button
[*] Command1 beri Name : cmdsave lalu beri Caption : Save
[*] Command2 beri Name : cmdimg lalu beri Caption : Browse
[*] Command3 beri Name : cmdClose lalu beri Caption : Close

- 1 Textbox

lalu susun semua komponent diatas menjadi seperti gambar bb21+ dibawah sini
Spoiler
Posted Image


lalu masukan source pada form2
Spoiler
'tutorial injector with
'change menu skin'By Hades The God Of Underworld
'Dedicated to Blazetorm & N3'Hades Always ganteng

Private Sub cmdclose_Click()
On Error GoTo fileerror
Input #1, imag
Close #1
FileName = GetSetting(App.Title, "setting", "imag")
Form1.Picture = LoadPicture(imag)
form2.Text1.Text = imag
fileerror:
Me.Hide
End Sub

Private Sub cmdimg_Click()
On Error GoTo Cancel
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
imag = Text1.Text
Form1.Picture = LoadPicture(imag)
Cancel:
End Sub

Private Sub cmdsave_Click()
Print #1, Text1.Text
Close #1
End Sub

'Created by Hades@Blazetorm.Net
'Special Thx to
'All People who make me crazzy !


ok selesai deehh.... jadi fungsi dari tutorial ini adalah

Quote
Kamu bisa mengganti skin Injector kamu dengan image yang disukai oleh para pengguna
cheat dengan demikian seseorang bisa mengubah skin injector bukan controler ataupun
yang ada di bagian injector tersebut :D


Special Thx to :

- eWiskan
- rifqi26[at]n*
- Std A.K.A Randy
- Leopard
- All People Who Make me Crazzy

Tidak ada komentar:

Posting Komentar