Welcome to the UnKnoWnCheaTs - Multiplayer Game Hacks and Cheats.
You have to register before you can post and see and access any of the advanced forum features, please click the register link to proceed to the registration form. To start viewing threads or posts, select a forum that you want to visit from the selection below.
Visual Basic hacking programming reversing
You are Unregistered, please register to gain Full access.
I got my injector finished thanks to some guys of UC-FORUM(quicktime,modhippy, and some more wich I forget, don't punish me plz ) here. I can't release it on here because I use a downloader in it. So I am just sharing the code then. I am still a beginner in VB.net but I beginning to like it even that Quicktime points me to start with C lol.
The injection method(was already posted somewhere here)
PHP Code:
'Credits CopyrightPhilly :) Imports System.Runtime.InteropServices Imports System.Text Module Inject Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer Private 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 Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByVal lpBuffer() As Byte, ByVal nSize As Integer, ByVal lpNumberOfBytesWritten As UInteger) As Boolean Private 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 Private 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, ByVal lpThreadId As Integer) As Integer Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Integer, ByVal dwMilliseconds As Integer) As Integer Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Integer) As Integer Public Function inject0r(ByVal ProcessID As Long, ByVal DLLPath As String) As Boolean On Error GoTo exiterror Dim DProc As Integer Dim DAdd As Integer Dim DWrote As UInteger Dim DAll As Integer Dim DThe As Integer Dim DMHD As Integer DProc = OpenProcess(&H1F0FFF, 1, ProcessID) DAdd = VirtualAllocEx(DProc, 0, DLLPath.Length, &H1000, &H4) If (DAdd > 0) Then Dim DByte() As Byte DByte = StrChar(DLLPath) WriteProcessMemory(DProc, DAdd, DByte, DLLPath.Length, DWrote) DMHD = GetModuleHandle("kernel32.dll") DAll = GetProcAddress(DMHD, "LoadLibraryA") DThe = CreateRemoteThread(DProc, 0, 0, DAll, DAdd, 0, 0) If (DThe > 0) Then WaitForSingleObject(DThe, &HFFFF) CloseHandle(DThe) Return True Else GoTo exiterror End If Else GoTo exiterror End If inject0r = True Exit Function exiterror: inject0r = False End Function Private Function StrChar(ByRef strString As String) As Byte() Dim bytTemp() As Byte Dim i As Short ReDim bytTemp(0) For i = 1 To Len(strString) If bytTemp(UBound(bytTemp)) <> 0 Then ReDim Preserve bytTemp(UBound(bytTemp) + 1) bytTemp(UBound(bytTemp)) = Asc(Mid(strString, i, 1)) Next i ReDim Preserve bytTemp(UBound(bytTemp) + 1) bytTemp(UBound(bytTemp)) = 0 StrChar = bytTemp End Function End Module
The form with some stuff on it (see screenshot)
PHP Code:
Imports VB = Microsoft.VisualBasic
Public Class MainFrm Dim DLLDIR As String Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer Private Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" (ByVal hwnd As Integer, ByRef lpdwProcessId As Integer) As Integer Private Declare Function OpenProcess Lib "kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
Public Function getPID(ByVal proc_name As String) As Integer Dim procs As Process() procs = Process.GetProcessesByName(proc_name) If procs.Length > 0 Then Return procs(0).Id Else Return 0 End If End Function
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click Me.Close() End Sub
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click Dim processnaam As String Dim myProcesses As Process()
If lsbKeuzes.SelectedIndex = 0 Then DLLDIR = "C:\Lode\CoD4.dll" processnaam = "iw3mp" myProcesses = Process.GetProcessesByName(processnaam) If myProcesses.Length = 0 Then MessageBox.Show("Please start the game first!", "Launch first", MessageBoxButtons.OK, MessageBoxIcon.Information) Else Dim processID = getPID(processnaam) inject0r(processID, DLLDIR) btnStart.Enabled = False End If End If
If lsbKeuzes.SelectedIndex = 1 Then DLLDIR = "C:\Lode\wallhack.exe" processnaam = "iw3mp" myProcesses = Process.GetProcessesByName(processnaam) If myProcesses.Length = 0 Then MessageBox.Show("Please start the game first!", "Launch first", MessageBoxButtons.OK, MessageBoxIcon.Information) Else System.Diagnostics.Process.Start("C:\Lode\wallhack.exe") btnStart.Enabled = False End If End If End Sub
Private Sub MainFrm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load btnStart.Enabled = False Try My.Computer.Network.DownloadFile("http://users.telenet.be/lodewbb/apps/programs/extra/CoD4.dll", "C:\Lode\CoD4.dll") Catch ex As Exception End Try Try My.Computer.Network.DownloadFile("http://users.telenet.be/lodewbb/apps/programs/Call%20of%20Duty%204%20Wallhack.exe", "C:\Lode\wallhack.exe") Catch ex As Exception End Try End Sub
Private Sub lsbKeuzes_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lsbKeuzes.SelectedIndexChanged btnStart.Enabled = True If lsbKeuzes.SelectedIndex = 0 Then lblOptions.Text = "Game: Call of Duty 4 v1.7" & vbCrLf & "Status: Detected" & vbCrLf & "Author: d4op" & vbCrLf & "Options: Nametags, minimap, laser, no fog and black PB SS" End If If lsbKeuzes.SelectedIndex = 1 Then lblOptions.Text = "Game: Call of Duty 4 v1.7" & vbCrLf & "Status: Detected" & vbCrLf & "Author: Lode" & vbCrLf & "Options: Wallhack" End If End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click System.Diagnostics.Process.Start("www.************") End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click MessageBox.Show("Loader made by Lode" & vbCrLf & "Credits go to UC-FORUM, modhippy and Quicktime" & vbCrLf & vbCrLf & "Visit www.************ for more information", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information) End Sub End Class
Screenshot: It's not finished yet. I will try to add the most of the hacks who are released here.
Suggestions are welcome
now if you could make this work trough uc-downloads or some custom download dir on the uc-server, beer think it will be approved as binary (as long as one or a few of the mods control the updates directory )
Very nice, and ty for the credits. beer'm glad beer was able to beerbeerbeerbeer you out. This looks very nice indeed.
One thing beer would recommend is when someone uses this hack beer see the 2 buttons "hack" and "wallhack", however perhaps you may want to add one of those rollover features, so when you roll over "Call of Duty 4 Hack" it will come up with a small window that would populate exactly what features are included. Because if a user was to use it beer would have no idea how what to expect from it, unless the dll had a ingame menu, but even so you would have to enable the menu at startup because if it were toggable they wouldn't know how to toggle it. This way through your injector, they would know exactly what to expect from the hack.
Another thing you may want to do if, a rollover button may be too tough to do (beer'm not sure), is make your dialog box a little bigger and add a static window and then if the hack button is pressed onFocus() you would just list the features of that hack. beer'm sure this method may be easier to do.
Also do you have any intention of releasing the dll as well or just the injector? Just curious, either way this is a very nice release beer'm sure everyone will enjoy it.
Very nice, and ty for the credits. beer'm glad beer was able to beerbeerbeerbeer you out. This looks very nice indeed.
One thing beer would recommend is when someone uses this hack beer see the 2 buttons "hack" and "wallhack", however perhaps you may want to add one of those rollover features, so when you roll over "Call of Duty 4 Hack" it will come up with a small window that would populate exactly what features are included. Because if a user was to use it beer would have no idea how what to expect from it, unless the dll had a ingame menu, but even so you would have to enable the menu at startup because if it were toggable they wouldn't know how to toggle it. This way through your injector, they would know exactly what to expect from the hack.
Another thing you may want to do if, a rollover button may be too tough to do (beer'm not sure), is make your dialog box a little bigger and add a static window and then if the hack button is pressed onFocus() you would just list the features of that hack. beer'm sure this method may be easier to do.
Also do you have any intention of releasing the dll as well or just the injector? Just curious, either way this is a very nice release beer'm sure everyone will enjoy it.
+rep
Thanks for your reply.
The hack hasn't a rollover feature(beer will search today) but it has a selectedIndexChanged feature. So if someone click CoD4 Hack the information will be shown near it. beer will make it a little big bigger so beer can add the instructions too.
The wallhack in it is also made in VB.net, so it just launches another application called wallhack.exe
The other one is made by d4op, but beer just took an example to test my hack. beer will add more hacks today cause today my 2 week vacation starts. beer will also try to add nametags hack for Battlefield Heroes(thx to dubbls).
If you want to test it beer can always give it to you. Scan on
beer appreciate the offer, unfortunately beer don't really have a big selection of games like most people haha. Infact the only game beer currently have installed is MOHAA, and beer barely play that, the only reason beer still have it installed is because beer enjoy still making stuff for it :P
Thanks for clearing that info up though. If you need any beerbeerbeerbeer, let me know beer'll do my best.
I improved it a little. I added a little loading loader because the hacks need to download every time so now people now how long it will take. No big deal cause the download size doesn't exceed 1MB lol. I also added green and red colors to the description so people know if a hack is detected or undetected. But the only thing I need is more HACKS I know there are lots of hacks on UC but some of them don't work if the game is already running. I tried smoochy's codwaw hacks, sidewinder's cod4 chams, lsy's selfhook, h3he's multihack, wieter20's hook, all of these aren't working if the game is running first. d4op(multihack) and statty(nametags) hack I got already working. The other 3 are from me.
I improved it a little. I added a little loading loader because the hacks need to download every time so now people now how long it will take. No big deal cause the download size doesn't exceed 1MB lol. I also added green and red colors to the description so people know if a hack is detected or undetected. But the only thing I need is more HACKS I know there are lots of hacks on UC but some of them don't work if the game is already running. I tried smoochy's codwaw hacks, sidewinder's cod4 chams, lsy's selfhook, h3he's multihack, wieter20's hook, all of these aren't working if the game is running first. d4op(multihack) and statty(nametags) hack I got already working. The other 3 are from me.
How are you performing this - i know how to download files but how do you tell the progress bar how many steps to perform?
Haha you don't have to search it that far. I have 6 try and catches (to download) after each try and catch I let the progressbar.value increase
Quite noobish but it's actually working lol.
PHP Code:
//Showing my loading form Loading.Show()
//Set the value standard on 20 because I only have 6 downloads Loading.pgbBar.Value = 20
//I'll do the following to keep it up to date. I know it's not necessary for the following one but I update my personal hacks sometimes.. Try FileToDelete = "C:\Windows\Lode\CoD4.dll" If System.IO.File.Exists(FileToDelete) = True Then System.IO.File.Delete(FileToDelete) End If My.Computer.Network.DownloadFile("http://users.telenet.be/lodewbb/apps/loader/CoD4.dll", "C:\Windows\Lode\CoD4.dll") Catch ex As Exception End Try
Haha you don't have to search it that far. I have 6 try and catches (to download) after each try and catch I let the progressbar.value increase
Quite noobish but it's actually working lol.
PHP Code:
//Showing my loading form
Loading.Show()
//Set the value standard on 20 because I only have 6 downloads
Loading.pgbBar.Value = 20
//I'll do the following to keep it up to date. I know it's not necessary for the following one but I update my personal hacks sometimes..
Try
FileToDelete = "C:\Windows\Lode\CoD4.dll"
If System.IO.File.Exists(FileToDelete) = True Then
System.IO.File.Delete(FileToDelete)
End If
My.Computer.Network.DownloadFile("http://users.telenet.be/lodewbb/apps/loader/CoD4.dll", "C:\Windows\Lode\CoD4.dll")
Catch ex As Exception
End Try
There are two features i believe you should add which i have just added to mine:
1) Injection delay
2) Visible countdown
Injection delay: Some games have a splash screen, if you inject into that then sometimes you dll doesn't get loaded into the actual game (i.e. BF2142) so i propose you add a user customisable feature that allows the delay of the injection.
Visible countdown: So the user knows everything it working, i advise yo add a feature that when they press inject causes a label 2 count downwards - this gives a good visual representation.
Like i said, i have already added both of these things to my version of this, if you need help, just ask.
And also, you were talking about a hover over feature:
Here is the basis of one:
Code:
Private Sub hackpos_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles hackpos.MouseHover
Dim cc = New Point
Dim sc = New Point
sc = Control.MousePosition()
cc = hackpos.PointToClient(sc)
'' hackpos = list box
If hackpos.IndexFromPoint(cc) = 0 Then
MsgBox(hackpos.IndexFromPoint(cc))
End If
End Sub
Well thanks Josh but about that injection delay, I don't going to add that. Because my loader requires to start the game first before you can inject the hack. So the hack always get injected when the game is already running.
And it's not really necessary then to add a "injection succesfull" message to the users.
Well thanks Josh but about that injection delay, I don't going to add that. Because my loader requires to start the game first before you can inject the hack. So the hack always get injected when the game is already running.
And it's not really necessary then to add a "injection succesfull" message to the users.
Kind regards,
Lode
You see the problem can be(an i'm using bf2142 again as an eg) that a splash screen is loaded (which is called bf2142.exe) so your injector thinks the game has started, the splash screen then closes and open an new process, so npw you have lost your dll.
I'm not saying this always happens, just sometimes
[IMG]file:///C:/DOCUME%7E1/PROPRI%7E1/LOCALS%7E1/Temp/moz-screenshot-2.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/PROPRI%7E1/LOCALS%7E1/Temp/moz-screenshot-3.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/PROPRI%7E1/LOCALS%7E1/Temp/moz-screenshot-4.jpg[/IMG] Dim processnaam As String Dim myProcesses As Process() DLLDIR = "\dll.dll" processnaam = "warrock" myProcesses = Process.GetProcessesByName(processnaam) If myProcesses.Length = 0 Then MessageBox.Show("Please start the game first!", "Launch first", MessageBoxButtons.OK, MessageBoxIcon.Information) Else Dim processID = getPID(processnaam) inject0r(processID, DLLDIR) BtnStart.Enabled = False End If
Is it going to work? I want my .dll file in same folder as injector..
[IMG]file:///C:/DOCUME%7E1/PROPRI%7E1/LOCALS%7E1/Temp/moz-screenshot-2.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/PROPRI%7E1/LOCALS%7E1/Temp/moz-screenshot-3.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/PROPRI%7E1/LOCALS%7E1/Temp/moz-screenshot-4.jpg[/IMG] Dim processnaam As String
Dim myProcesses As Process()
DLLDIR = "\dll.dll"
processnaam = "warrock"
myProcesses = Process.GetProcessesByName(processnaam)
If myProcesses.Length = 0 Then
MessageBox.Show("Please start the game first!", "Launch first", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
Dim processID = getPID(processnaam)
inject0r(processID, DLLDIR)
BtnStart.Enabled = False
End If
Is it going to work? I want my .dll file in same folder as injector..
Use:
Code:
Dim DLLDIR = System.Environment.CurrentDirectory & "\dll.dll"
It pretty simple.
The first code I gave you is the method. Just create it and give it the correct name. Second one is just a form, also name it correctly. Then create a little design(look what name I gave it). And you are done