Code:
Imports Microsoft.VisualBasic
Imports Microsoft.VisualBasic.CompilerServices
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Drawing
Imports System.Runtime.CompilerServices
Imports System.Runtime.InteropServices
Imports System.Text
Imports System.Windows.Forms
Imports xkickme_perx_v1.My.Resources
Public Class Form1
Public Sub New()
Me.Point = New Point
Me.Xpos = New Integer
Me.Ypos = New Integer
Me.dlls4inj = New Dictionary(Of String, String)
Me.InitializeComponent()
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
Me.OpenFileDialog1.Filter = "DLL (*.dll) |*.dll|All Files (*.*) |*.*"
Me.OpenFileDialog1.ShowDialog()
Me.OpenFileDialog1.ShowReadOnly = True
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs)
Me.ListBox1.Items.Remove(RuntimeHelpers.GetObjectValue(Me.ListBox1.SelectedItem))
End Sub
Private Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs)
Me.ListBox1.Items.Clear()
Me.dlls4inj.Clear()
End Sub
Private Sub Button4_Click(ByVal sender As Object, ByVal e As EventArgs)
If (Me.ListBox1.Items.Count > 0) Then
If (Me.TextBox1.Text <> "") Then
If (Process.GetProcessesByName(Me.TextBox1.Text).Length = 0) Then
Interaction.MsgBox((Me.TextBox1.Text & ".exe is not running."), MsgBoxStyle.Critical, "Error")
Else
Me.Timer1.Stop()
Dim id As Integer = Process.GetProcessesByName(Me.TextBox1.Text)(0).Id
Dim pair As KeyValuePair(Of String, String)
For Each pair In Me.dlls4inj
Me.Inject(id, pair.Value)
Next
End If
Else
Interaction.MsgBox("You haven't specificed a process.", MsgBoxStyle.Critical, "Error")
End If
Else
Interaction.MsgBox("You need to select a dll file to inject.", MsgBoxStyle.Critical, "Error")
End If
End Sub
Private Sub Button5_Click(ByVal sender As Object, ByVal e As EventArgs)
Interaction.MsgBox("THANKS FOR USE MY INJECTOR,BYE", MsgBoxStyle.ApplicationModal, Nothing)
Me.Close()
End Sub
Private Sub Button88_Click(ByVal sender As Object, ByVal e As EventArgs)
Try
Interaction.Shell("cf_Patcher.exe", AppWinStyle.MinimizedFocus, False, -1)
Dim processesByName As Process() = Process.GetProcessesByName("Crossfire.exe")
Catch exception1 As Exception
ProjectData.SetProjectError(exception1)
Dim exception As Exception = exception1
Interaction.MsgBox("Put This in you'r Crossfire Folder By xkickme.", MsgBoxStyle.ApplicationModal, Nothing)
ProjectData.ClearProjectError()
End Try
End Sub
<DllImport("kernel32", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
Private Shared Function CloseHandle(ByVal hObject As Integer) As Integer
End Function
<DllImport("kernel32", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
Private Shared Function CreateRemoteThread(ByVal hProcess As Integer, ByVal lpThreadAttributes As Integer, ByVal dwStackSize As Integer, ByVal lpStartAddress As Integer, ByVal lpParameter As Integer, ByVal dwCreationFlags As Integer, ByVal lpThreadId As Integer) As Integer
End Function
<DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If (disposing AndAlso (Not Me.components Is Nothing)) Then
Me.components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
Private Sub Form_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
Me.X = (Control.MousePosition.X - Me.Location.X)
Me.Y = (Control.MousePosition.Y - Me.Location.Y)
End Sub
Private Sub Form_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
If (e.Button = MouseButtons.Left) Then
Me.Point = Control.MousePosition
Me.Point.X = (Me.Point.X - Me.X)
Me.Point.Y = (Me.Point.Y - Me.Y)
Me.Location = Me.Point
End If
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
Me.Timer2.Interval = 1
Me.Timer2.Start()
Me.Timer3.Interval = 1
Me.Timer3.Start()
Interaction.MsgBox("HELLO ,WELCOME TO MY PERX:XKICKME INJECTOR", MsgBoxStyle.ApplicationModal, Nothing)
Process.Start("https://www.mpgh.net/forum/members/1495053-xkickme.html")
End Sub
<DllImport("User32", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
Private Shared Function GetAsyncKeyState(ByVal vKey As Integer) As Short
End Function
<DllImport("kernel32", EntryPoint:="GetModuleHandleA", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
Private Shared Function GetModuleHandle(<MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpModuleName As String) As Integer
End Function
<DllImport("kernel32", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
Private Shared Function GetProcAddress(ByVal hModule As Integer, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpProcName As String) As Integer
End Function
Private Function Inject(ByVal pID As Integer, ByVal dllLocation As String) As Boolean
If (IntPtr.Size = 8) Then
Throw New ArgumentException("Please make sure this program is compiled as x86, not x64. Memory functions don't work so well otherwise.")
End If
Dim hProcess As Integer = Form1.OpenProcess(&H1F0FFF, 1, pID)
If (hProcess = 0) Then
Return False
End If
Dim bytes As Byte() = Encoding.ASCII.GetBytes(dllLocation)
Dim lpBaseAddress As Integer = Form1.VirtualAllocEx(hProcess, 0, bytes.Length, &H1000, 4)
If (lpBaseAddress = 0) Then
Return False
End If
Dim lpModuleName As String = "kernel32.dll"
Dim moduleHandle As Integer = Form1.GetModuleHandle(lpModuleName)
lpModuleName = "LoadLibraryA"
Dim procAddress As Integer = Form1.GetProcAddress(moduleHandle, lpModuleName)
If ((moduleHandle = 0) OrElse (procAddress = 0)) Then
Return False
End If
Form1.WriteProcessMemory(hProcess, lpBaseAddress, bytes, bytes.Length, 0)
Dim hHandle As Integer = Form1.CreateRemoteThread(hProcess, 0, 0, procAddress, lpBaseAddress, 0, 0)
If (hHandle = 0) Then
Return False
End If
Form1.WaitForSingleObject(hHandle, &H1388)
Form1.CloseHandle(hHandle)
Form1.CloseHandle(hProcess)
Me.Label3.Text = "Successfully Inject By xKickMe."
If Me.CheckBox1.Checked Then
Me.Close()
End If
Me.Label3.ForeColor = Color.Green
Return True
End Function
Private Sub OpenFileDialog1_FileOk(ByVal sender As Object, ByVal e As CancelEventArgs)
Dim item As String = Me.OpenFileDialog1.FileName.Substring(Me.OpenFileDialog1.FileName.LastIndexOf("\")).Replace("\", "")
Me.ListBox1.Items.Add(item)
Me.dlls4inj.Add(item, Me.OpenFileDialog1.FileName)
Me.OpenFileDialog1.Multiselect = True
End Sub
<DllImport("kernel32", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
Private Shared Function OpenProcess(ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
End Function
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
If (Me.ListBox1.Items.Count > 0) Then
If (Process.GetProcessesByName(Me.TextBox1.Text).Length = 0) Then
Me.Label3.Text = ("Waiting for " & Me.TextBox1.Text & ".exe")
Else
Dim id As Integer = Process.GetProcessesByName(Me.TextBox1.Text)(0).Id
Me.Timer1.Stop()
Me.Timer2.Stop()
Dim pair As KeyValuePair(Of String, String)
For Each pair In Me.dlls4inj
Me.Inject(id, pair.Value)
Next
End If
End If
End Sub
Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As EventArgs)
If (Me.TextBox1.Text = "") Then
Me.Label3.Text = "Type Your process's name Without .exe."
Me.Timer1.Stop()
ElseIf (Me.ListBox1.Items.Count = 0) Then
Me.Label3.Text = "Waiting for Hack's Dll File."
Me.Timer1.Stop()
ElseIf (Process.GetProcessesByName(Me.TextBox1.Text).Length = 0) Then
Me.Label3.Text = ("Waiting for " & Me.TextBox1.Text & ".exe")
ElseIf Me.RadioButton1.Checked Then
Me.Timer1.Start()
End If
End Sub
Private Sub Timer3_Tick(ByVal sender As Object, ByVal e As EventArgs)
If Me.RadioButton1.Checked Then
Me.Button4.Enabled = False
ElseIf Me.RadioButton2.Checked Then
Me.Button4.Enabled = True
End If
End Sub
Private Sub Timer4_Tick(ByVal sender As Object, ByVal e As EventArgs)
Dim flag As Boolean
If flag Then
If (Me.ListBox1.Items.Count > 0) Then
If (Me.TextBox1.Text <> "") Then
If (Process.GetProcessesByName(Me.TextBox1.Text).Length = 0) Then
Interaction.MsgBox((Me.TextBox1.Text & ".exe is not running."), MsgBoxStyle.Critical, "Error")
Else
Me.Timer1.Stop()
Dim id As Integer = Process.GetProcessesByName(Me.TextBox1.Text)(0).Id
Dim pair As KeyValuePair(Of String, String)
For Each pair In Me.dlls4inj
Me.Inject(id, pair.Value)
Next
End If
Else
Interaction.MsgBox("You haven't Typed the process's name.", MsgBoxStyle.Critical, "Error")
End If
Else
Interaction.MsgBox("You need to select a dll file to inject.", MsgBoxStyle.Critical, "Error")
End If
End If
End Sub
<DllImport("kernel32", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
Private Shared Function VirtualAllocEx(ByVal hProcess As Integer, ByVal lpAddress As Integer, ByVal dwSize As Integer, ByVal flAllocationType As Integer, ByVal flProtect As Integer) As Integer
End Function
<DllImport("kernel32", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
Private Shared Function WaitForSingleObject(ByVal hHandle As Integer, ByVal dwMilliseconds As Integer) As Integer
End Function
<DllImport("kernel32", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
Private Shared Function WriteProcessMemory(ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByVal lpBuffer As Byte(), ByVal nSize As Integer, ByVal lpNumberOfBytesWritten As UInt32) As Boolean
End Function
End Class