[RELEASE] VB Injecter source!

Posts 1–5 of 5 · Page 1 of 1
[RELEASE] VB Injecter source!
here its is guys

s Example I Used the game "WarRock"

Enjy!

Program Used : Visual Basic 2008

Code:
Option Strict On
Option Explicit On
Imports System.Runtime.InteropServices

Public Class Form1

    Const MEM_COMMIT As Integer = &H1000
    Const PAGE_READWRITE As Integer = &H4
    Const PROCESS_CREATE_THREAD As Integer = &H2
    Const PROCESS_VM_OPERATION As Integer = &H8
    Const PROCESS_VM_READ As Integer = &H10
    Const PROCESS_VM_WRITE As Integer = &H20


    <DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
    Public Shared Function OpenProcess(ByVal dwDesiredAccess As UInteger, <MarshalAs(UnmanagedType.Bool)> _
    ByVal bInheritHandle As Boolean, ByVal dwProcessId As Integer) As System.IntPtr
    End Function

    <DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
    Public Shared Function WriteProcessMemory(ByVal hProcess As System.IntPtr, ByVal lpBaseAddress As System.IntPtr, _
    ByVal lpBuffer As String, ByVal nSize As Int32, <Out()> ByRef lpNumberOfBytesWritten As Int32) As _
    <MarshalAs(UnmanagedType.Bool)> Boolean
    End Function

    <DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
    Public Shared Function VirtualAllocEx(ByVal hProcess As IntPtr, ByVal lpAddress As Int32, _
    ByVal dwSize As Int32, ByVal flAllocationType As UInteger, _
    ByVal flProtect As UInteger) As IntPtr
    End Function

    <DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
    Public Shared Function GetModuleHandle(ByVal lpModuleName As String) As IntPtr
    End Function

    <DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
    Public Shared Function GetProcAddress(ByVal hModule As IntPtr, ByVal lpProcName As String) As UIntPtr
    End Function

    <DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
    Public Shared Function CreateRemoteThread(ByVal hProcess As IntPtr, ByVal lpThreadAttributes As Int32, _
    ByVal dwStackSize As UInt32, ByVal lpStartAddress As UIntPtr, ByVal lpParameter As IntPtr, _
    ByVal dwCreationFlags As UInt32, ByRef lpThreadId As Int32) As IntPtr
    End Function

    <DllImport("kernel32.dll", SetLastError:=True, CharSet:=CharSet.Unicode, EntryPoint:="LoadLibraryA")> _
    Public Shared Function LoadLibrary(ByVal lpFileName As String) As IntPtr
    End Function

    Friend WithEvents OZ As New Timer
    Const TargetName As String = "WARROCK"
    Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)

    Private Sub InnjectionMethods_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.TopMost = True
        OZ.Interval = 25
        If IO.File.Exists(Application.StartupPath & "\" + ExeName + ".dll") Then
            Me.Label1.Text = "...Waiting For WarRock.exe"
            OZ.Start()
        Else
            Me.Label1.Text = "..." + ExeName + ".dll Not Found !"
        End If
    End Sub

    Private Sub OZs(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OZ.Tick
        Dim Target As Process() = Process.GetProcessesByName(TargetName)
        If Target.Length <> 0 Then
            Me.Label1.Text = "...WarRock Is Running"
            OZ.Stop()
            InjectToProcess()
        End If
    End Sub

    Sub InjectToProcess()
        Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)
        Dim Target As Process() = Process.GetProcessesByName(TargetName)
        Dim pHandle As IntPtr = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, Target(0).Id)
        Dim pszLibFileRemote As String = Application.StartupPath & "\" + ExeName + ".dll"
        Dim pfnStartAddr As UIntPtr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
        Dim TargetBufferSize As Int32 = Int(1 + Len(pszLibFileRemote))
        Dim LoadLibParamAdr As IntPtr = VirtualAllocEx(pHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
        Dim Rtn As Integer = CInt(WriteProcessMemory(pHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0))
        If Rtn <> 0 Then
            Label1.Text = "...Injection Succed!"
        Else
            Label1.Text = "...Injection Failed!"
        End If
        CreateRemoteThread(pHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
        Me.Close()
    End Sub


End Class


Process.GetProcessesByName(TargetName)
Stop steal some1 work. Give creditz + this is alredy posted here!"
Quote Originally Posted by Zoom View Post
Stop steal some1 work. Give creditz + this is already posted here!"
Ugleh's code didn't work, every one had to fix it up a lot...
And if this is off of youtube, why didn't you just post the video right ontop of the code, so people will see the video, and also get the source code right under it...
And you need to add what you need to make it.

Here is the video:


Code:
http://www.youtube.com/watch?v=TKd_7GNbWNM
Here is what you need:

1 Timer
2 Text boxes
1 button
could u make a loader?? like a .dll file is built in and the .dll is injected into the program without actually needing a sepret .dll file other than the loader which injects the file?
Quote Originally Posted by greenviking View Post
could u make a loader?? like a .dll file is built in and the .dll is injected into the program without actually needing a sepret .dll file other than the loader which injects the file?
It is possible, but I only have 1 idea:

Try dragging the .dll to your Solution Explorer, and see what happens...
Posts 1–5 of 5 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

Talk with us