Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › MultiPlayer Game Hacks & Cheats › CrossFire Hacks & Cheats › CrossFire Tutorials › How to make a Multitool [Simple]

How to make a Multitool [Simple]

Posts 1–15 of 36 · Page 1 of 3
NE
Neechan'
How to make a Multitool [Simple]
Hey and welcome to my 2nd tutorial.
Title says it all. This Tutorial are for Newbs. So dont :RAGE:


Visual Basic 2010


U find this Programm here.

Make now a Multitool


Now make a "Form"
Click on "New Project"


Now you have a form


Now add 5 buttons.


Okey now give all a name.
Button1 to Injector
Button2 to spammers
Button3 to Calculators
Button4 to Tapper
Button5 to Notepad



Now do 5 Forms

Project => Add Windows Form







Source Code

Injector [Simple]
Double klick at "Injector" Button
Now u have this:



Add:
Code:
Injector.Show()
Add now:
  • 1 Button
  • 1 Label (+3 for labeling)
  • Timer
  • OpenFileDialog
  • Checkbox




Double Klick on Form and add
Code:
button1.text = "Browse..."
label1.text = "Waiting for users input..."
timer1.interval = 50
timer1.start()
Timer Code
Code:
If IO.File.Exists(OpenFileDialog1.FileName) Then
            Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
            If TargetProcess.Length = 0 Then

                Me.Label1.Text = ("Waiting for " + TextBox1.Text + ".exe...")
            Else
                Timer1.Stop()
                Me.Label1.Text = "Successfully Injected!"
                Call Inject()
                If CheckBox1.Checked = True Then
                    Me.Close()
                Else
                End If
            End If
        Else
        End If

Else
Public Class
But comes out on top

Code:
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 ' If error occurs, app will close without any error messages
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()
End Sub
Button Code
Code:
OpenFileDialog1.Filter = "DLL (*.dll) |*.dll"
OpenFileDialog1.ShowDialog()
Dim FileName As String
FileName = OpenFileDialog1.FileName.Substring(OpenFileDialog1 .FileName.LastIndexOf("\"))
Dim DllFileName As String = FileName.Replace("\", "")
Me.TextBox2.Text = (DllFileName)
Finished with Injector.

Tapper

Code:
Tapper.Show
Add
  • 2 Button
  • 1 Timer


Button 1 = Connect
Button 2 = Disconnect

Connect Code
Code:
Shell("NET START DHCP")
Disconnect Code
Code:
Shell("Net STOP DHCP")
Timer Code
Code:
        Dim StartHotkey As Integer
        StartHotkey = GetAsyncKeyState(116)
        If StartHotkey <> 0 Then
            Shell("Net STOP DHCP")
        End If
        Dim StopHotkey As Integer
        StopHotkey = GetAsyncKeyState(117)
        If StopHotkey <> 0 Then
            Shell("NET START DHCP")
        End If

    End Sub
Tapper [Simple] is Finished

Spammer


Double klick on "Spammer" Button
Code:
Spammer.show()
Add again:
  • 2 Button
  • 1 Timer
  • 1 Textbox


Button 1 = Start
Button 2 = Stop

Start Code
Code:
Timer1.Enabled = True

Stop Code

Code:
Timer1.Enabled = False

Timer Code

Code:
 SendKeys.Send(TextBox1.Text)
          SendKeys.Send("{Enter}")

Calcurator


Code:
Calcurator.Show()
Add
[LIST][*]4 Button[*]2 Textbox[*]2 Label
[LIST]

Button1 = +
Button2 = -
Button3 = %
Button4 = X

Label1 =
Label2 =
(labels are empty)

+ Code
Code:
Label2.Text = "+"
Label1.Text = Val (textbox1.text) + Val (Text2.Text)
- Code
Code:
Label2.Text = "-"
Label1.Text = Val (textbox1.text) - Val (Text2.Text)

% Code

Code:
Label2.Text = "%"
Label1.Text = Val (textbox1.text) / Val (Text2.Text)
X Code
Code:
Label2.Text = "X"
Label1.Text = Val (textbox1.text) * Val (Text2.Text)
Finished with Calcurator

Advanced NotePad
Code:
Notepad.show()
Add
  • MenuStrip
  • RichText


1. Menu Strip "File"
New, Open, Save and Exit.

New:
Code:
RichTextBox1.Clear()
Open:
Code:
Try
Dim dlg As OpenFileDialog = New OpenFileDialog
dlg.Title = "Open"
dlg.Filter = "Rich Text Files (*.rtf)|*.rtf"
If dlg.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
RichTextBox1.LoadFile(dlg.FileName)
End If
Catch ex As Exception : End Try
Save:
Code:
Try
Dim dlg As SaveFileDialog = New SaveFileDialog
dlg.Title = "Save"
dlg.Filter = "Rich Text Files (*.rtf)|*.rtf"
If dlg.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
RichTextBox1.SaveFile(dlg.FileName, RichTextBoxStreamType.RichText)
End If
Catch ex As Exception : End Try
2. Manu Strip "Format"
Font, Colour, Undo, Redo, Cut, Copy, Paste, Clear, Select All.

Undo:
Code:
RichTextBox1.Undo()
Redo:
Code:
RichTextBox1.Redo()
Cut:
Code:
RichTextBox1.Cut()
Copy:
Code:
RichTextBox1.Copy()
Paste:
Code:
RichTextBox1.Paste()
Clear:
Code:
RichTextBox1.Clear()
Select All:
Code:
RichTextBox1.SelectAll()
Colour:
Code:
Try
Dim dlg As FontDialog = New FontDialog
dlg.Font = RichTextBox1.Font
If dlg.ShowDialog = System.Windows.Forms.DialogResult.OK Then
RichTextBox1.Font = dlg.Font
End If
Catch ex As Exception : End Try
Font:
Code:
Try
Dim dlg As ColorDialog = New ColorDialog
dlg.Color = RichTextBox1.ForeColor
If dlg.ShowDialog = System.Windows.Forms.DialogResult.OK Then
RichTextBox1.ForeColor = dlg.Color
End If
Catch ex As Exception : End Try
Finished
Congratz, u have now a Multitool

Creeditzz
me /me
@Hobbo [Injector Source Code]

Have fun
#1 · edited 15y ago · 15y ago
FU
FUKO
Nice, but add credits to Hobbo for his injector source.
#2 · 15y ago
djrubenmp3
djrubenmp3
Lol to make a multitool it's very simple you just need to make the original form and the project form and on the original just put the name of the form .show() it's izzy
Good job brow
#3 · 15y ago
NE
Neechan'
Quote Originally Posted by djrubenmp3 View Post
Lol to make a multitool it's very simple you just need to make the original form and the project form and on the original just put the name of the form .show() it's izzy
Good job brow
I know but its for Newbis ^^
#4 · 15y ago
djrubenmp3
djrubenmp3
Quote Originally Posted by -ᶰᵉᵉᶜʰᵃᶰ View Post
I know but its for Newbis ^^
And i thing that this should be on tuto section
#5 · 15y ago
NE
Neechan'
oh ops wrong section lol ^^ thanks
#6 · 15y ago
FU
FUKO
Add credits....
#7 · 15y ago
NE
Neechan'
Quote Originally Posted by Fuko View Post
Add credits....
-.-
iam not finished with tutorial omfg.
i add it later -.-

Edit: /req move to Tutorial @Ghost @Swiftdude
#8 · edited 15y ago · 15y ago
NE
Neechan
nice nice xD
#9 · 15y ago
iDoge
iDoge
Quote Originally Posted by Neechan View Post
nice nice xD
LOL,you stole real neechans name?!
#10 · 15y ago
djrubenmp3
djrubenmp3
Quote Originally Posted by mlks View Post
LOL,you stole real neechans name?!
Lol I was thinking on that too
#11 · 15y ago
NE
Neechan'
Quote Originally Posted by Neechan View Post
nice nice xD
its my fake acc /me
#12 · 15y ago
iDoge
iDoge
Quote Originally Posted by -ᶰᵉᵉᶜʰᵃᶰ View Post
its my fake acc /me
#13 · 15y ago
NE
Neechan'
Quote Originally Posted by mlks View Post
for bump my Thread bro
#14 · 15y ago
A$
A$IAN
Nice tutorial.
This is Basic
#15 · 15y ago
Posts 1–15 of 36 · Page 1 of 3

Post a Reply

Tags for this Thread

None