1st of all thanks Nico, i really appriciate it. im gonna leave the source 4 now just incase anyone wants it.. idk maybe its better to remove? the way i see it it can still help somone get started, but theres also tutorials everywhere just like, alot of the same code, idk.. anyway heres the realease to if u have problems with it let me know so i can fix it. oh ill get v scans again also.. i put a image showing it injecting nicos dll into vindictus
you shoulnt need to run as admin, i dont but i also have uac off, if u do need to rightclick it select properties
then compatability, check run as administrator
then it will always run as admin never need to right click again,
sorry if u knew this but i know everyone doesnt so
it is av scan positive, if u dont trust dont download
DeMoNh4x.zip MD5:128fe93851babbd3696da7de4dfecab1 - VirSCAN.org 11% Scanner(s) (4/36) found malware!
DeMoNh4x.zip - Jottis Malwarescanner
VirusTotal - Free Online Virus, Malware and URL Scanner
you need visual studios 2010 or an express edition and .net framework 4 to compile this
framework 3.5 may work idk havent tried
im here to learn and help others, i rarely play vindictus anymore, when i do i use Nico 's dll and pie 2.0
right now it only injects into 3 games.
vindictus
combat arms
cod6
because it was origionally set up to auto start the game after u select your dll, yet in vindictus u need 2 dlls, i done alot of work to this the last few days to release it publicly here, i had to make it inject 2 dlls, and with the way i had it set up b4 it would auto start the game and inject after u selected your dll, i had 2 change this or ud never get 2dlls into the game
ill never inject 2 into it myself but there are people who want to so i updated it, if u know what ur doing u can add more games to it, whatever u want with it i dont care, it could be cleaned up and a few bugs removed, ill work on it more later. i think ive covered everything and i hope i post correctly this time
credits do go to a a guy for a tutorial, i cant remember his name its been pry 4 years since i read it
credits also to microsoft,, without them this wanst possible
and everyone i that ive learned from
as of right now it is not detected or patched in any games if it ends up that way ill fix it and probably post the code to fix it
one more thing, before you start posting your build errors, u need to add items from the toolbox,, such as labels, buttons,timers,openfiledialog, you can set up your gui however u want it
Code:
Imports System.Threading
Public Class Form1
Private TargetProcessHandle As Integer
Private pfnStartAddr As Integer
Private pszLibFileRemote As String
Private TargetBufferSize As Integer
Public Const PROCESS_VM_READ = &H10
Public Const TH32CS_SNAPPROCESS = &H2
Public Const MEM_COMMIT = 4096
Public Const PAGE_READWRITE = 4
Public Const PROCESS_CREATE_THREAD = (&H2)
Public Const PROCESS_VM_OPERATION = (&H8)
Public Const PROCESS_VM_WRITE = (&H20)
Dim DLLFileName As String
Public Declare Function ReadProcessMemory Lib "kernel32" ( _
ByVal hProcess As Integer, _
ByVal lpBaseAddress As Integer, _
ByVal lpBuffer As String, _
ByVal nSize As Integer, _
ByRef lpNumberOfBytesWritten As Integer) As Integer
Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" ( _
ByVal lpLibFileName As String) As Integer
Public Declare Function VirtualAllocEx Lib "kernel32" ( _
ByVal hProcess As Integer, _
ByVal lpAddress As Integer, _
ByVal dwSize As Integer, _
ByVal flAllocationType As Integer, _
ByVal flProtect As Integer) As Integer
Public Declare Function WriteProcessMemory Lib "kernel32" ( _
ByVal hProcess As Integer, _
ByVal lpBaseAddress As Integer, _
ByVal lpBuffer As String, _
ByVal nSize As Integer, _
ByRef lpNumberOfBytesWritten As Integer) As Integer
Public Declare Function GetProcAddress Lib "kernel32" ( _
ByVal hModule As Integer, ByVal lpProcName As String) As Integer
Private Declare Function GetModuleHandle Lib "Kernel32" Alias "GetModuleHandleA" ( _
ByVal lpModuleName As String) As Integer
Public Declare Function CreateRemoteThread Lib "kernel32" ( _
ByVal hProcess As Integer, _
ByVal lpThreadAttributes As Integer, _
ByVal dwStackSize As Integer, _
ByVal lpStartAddress As Integer, _
ByVal lpParameter As Integer, _
ByVal dwCreationFlags As Integer, _
ByRef lpThreadId As Integer) As Integer
Public Declare Function OpenProcess Lib "kernel32" ( _
ByVal dwDesiredAccess As Integer, _
ByVal bInheritHandle As Integer, _
ByVal dwProcessId As Integer) As Integer
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Integer
Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandleA" ( _
ByVal hObject As Integer) As Integer
Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)
Private Sub Inject()
On Error GoTo 1
Timer1.Stop()
Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)
pszLibFileRemote = OpenFileDialog1.FileName
pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
TargetBufferSize = 1 + Len(pszLibFileRemote)
Dim Rtn As Integer
Dim LoadLibParamAdr As Integer
LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
CloseHandle(TargetProcessHandle)
1: Me.Show()
MsgBox("Injection Sucessful!!!", MsgBoxStyle.OkOnly)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Button1.Text = "Select Hack"
Label1.Text = "Awaiting Input"
Timer1.Interval = 50
Timer1.Start()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
If IO.File.Exists(OpenFileDialog1.FileName) And (TargetProcess.Length = 0) Then
Label1.ForeColor = Color.YellowGreen
Me.Label1.Text = ("Searching for " + TextBox1.Text)
ProgressBar1.Visible = True
ProgressBar1.Enabled = True
Else
If IO.File.Exists(OpenFileDialog1.FileName) And (TargetProcess.Length) < 0 Then
Label1.ForeColor = Color.Lime
Me.Label1.Text = (TextBox1.Text + " Successfully Injected!")
ProgressBar1.Visible = False
ProgressBar1.Enabled = False
Call Inject()
Thread.Sleep(50)
Timer1.Stop()
exitme()
End If
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
OpenFileDialog1.Filter = "Dll Files (*.dll) |*.dll|All files (*.*) |*.*"
If Me.OpenFileDialog1.ShowDialog <> Windows.Forms.DialogResult.OK Then Exit Sub
Dim FileName As String
FileName = OpenFileDialog1.FileName.Substring(OpenFileDialog1.FileName.LastIndexOf("\"))
Dim DllFileName As String = FileName.Replace("\", "")
If TextBox2.Text <= "" Then
Me.TextBox2.Text = (DllFileName)
ElseIf TextBox2.Text > "" Then
Me.TextBox3.Text = (DllFileName)
End If
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Label1.ForeColor = Color.Red
If ComboBox1.SelectedItem = "Vindictus" Then
TextBox1.Text = "Vindictus"
Label1.Text = "Select your hack to inject"
Else
If ComboBox1.SelectedItem = "Combat Arms" Then
TextBox1.Text = "Engine"
Label1.Text = "Select your hack to inject"
ElseIf ComboBox1.SelectedItem = "Modern Warfare 2" Then
Label1.Text = "Select your hack to inject"
End If
End If
End Sub
Public Sub startgame()
If ComboBox1.SelectedItem = "Vindictus" Then
Shell("C:\Nexon\Vindictus\en-US\Vindictus.exe")
ElseIf ComboBox1.SelectedItem = "Combat Arms" Then
Shell("C:\Nexon\Combat Arms\CombatArms_Direct.exe")
ElseIf ComboBox1.SelectedItem = "Modern Warfare 2" Then
Shell("C:\Program Files\Activision\Modern Warfare 2\iw4sp.exe")
End If
End Sub
Public Sub exitme()
Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
If TargetProcess.Length > 0 Then
Label1.Text = "Exiting"
Thread.Sleep(50)
Close()
End If
End Sub
Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click
Label1.Text = "Exiting"
Thread.Sleep(50)
Close()
End Sub
Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
Form3.Show()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If IO.File.Exists(OpenFileDialog1.FileName) Then
Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
If TargetProcess.Length = 0 Then
Label1.ForeColor = Color.Lime
Me.Label1.Text = (TextBox1.Text + " Injection started!!!")
ProgressBar1.Visible = False
ProgressBar1.Enabled = False
startgame()
Inject()
Thread.Sleep(50)
exitme()
Else
Label1.ForeColor = Color.Red
Label1.Text = "Failed to launch, retrying"
Thread.Sleep(50)
startgame()
Call Inject()
End If
End If
End Sub
End Class