How to make game trainer in VB

Posts 1–15 of 15 · Page 1 of 1
How to make game trainer in VB


I hope you like it
You should explain more about how ReadWriteMemory actually works.
Calling a function 3 times isn't really explaining much. Except how to write a value at an address. That's what a trainer is, but I wouldn't say you're explaining 'how to.' ?
Too many flaws in the video. What if they want to hack a game that is protected? Then what? What if the address changes?
agreed. If you're going to make a 'how to' video, if you can, please put audio commentary in the video, not txt :/ just personal preference, but I think a lot of ppl are similar. Also, you don't really explain "how to" make a trainer, you just give 1 very specific example of doing it. Yes, poking new values into a ram address is what a trainer does, and you did that, but you didn't explain how/why. You apparently uploaded the read/writeprocessmemory code, but didn't explain it all. That's where all the juice is. :/

it should have explained:
1) OpenProcess
2) WriteProcessMemory
3) ReadProcessMemory
4) any nuances for 1-3 (ie. PROCESS_ALL_ACCESS vs vm_query, ReadProcessmemory and &actualBytesRead, etc etc)
Thanks man

Im a newbie to and I like your movie, it gives me a good first impression of what VB is.

The other reactions means nothing for me because im not so far yet. Maybe you can those reactions also made on a movie? I hope so....
"Maybe you can those reactions also made on a movie?" - huh?


edit: I retract my previous post...his video does what his title says..just not what I expected it to be. It is what it is.
Great as a simple tutorial, however Game Trainer Design can consist of a lot more difficult problems. As mentioned by one of the users above, addresses can change, meaning the program becomes useless. This was a problem I faced when I made a Borderlands Trainer. It worked up until I restarted the program.
Could someone help me with this ?
I tried making a money cheat for SA:MP and i got the address and when i set the value from CE then it works, but when i click the button in my vb program then it shows a msgbox "Failed to open gta_sa" however the process gta_sa (gta_sa.exe) is running and gta_sa is a valid name.I tried both gta_sa and gta_sa.exe and both show the same error.
My button1 click code:
Code:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim money As String = TextBox1.Text

        Try
            WriteInteger("gta_sa", &HB7CE50, money)
        Catch ex As Exception

        End Try
    End Sub
And btw my address is really 00B7CE50 but when i put it to the code those 2 zeros on start got cut automatically, is that normal ?
@silentus
Removing the 2 zeros is normal.
The problem is with your memory class so no one would beable to help without seeing the code.
That error was put in place by the creator of the class.

If you have team viewer, send me a visitors message with the user/pass and i'll have a look at it.
@silentus - you should really write the mem library yourself (good to understand it all, but)

my guess is, no memory function named writeInteger is going to expect a string for the "value" to write...it probably expect an Integer....change it from string to integer.

Code:
        Dim money As Int32 = Convert.ToInt32(TextBox1.Text) '' <------- x x x 

        Try
            WriteInteger("gta_sa", &HB7CE50, money)
        Catch ex As Exception

        End Try
    End Sub
edit: if someone else's memory class "can't find the process", like pingo said, it's a problem w/ the class, not your button1 code.

Are you admin?

OR
If you tried every possible "process name", maybe it's not going by "process name" : try "main window title".

# comment: is 0000001 the same as 1 ? It's the same for hex, binary etc.
nice tutorial
Could you upload the class?
I want to compare it to mine.
link reuploaded
What if I have more than one offset?


button code:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim czytaj = ReadInteger("Game", &H7ED7B8)
Dim wartosc = TextBox1.Text
Try
WriteInteger("Game", (czytaj + &H11C), wartosc)
Catch ex As Exception

End Try
End Sub
Quote Originally Posted by Rifju View Post
What if I have more than one offset?


button code:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim czytaj = ReadInteger("Game", &H7ED7B8)
Dim wartosc = TextBox1.Text
Try
WriteInteger("Game", (czytaj + &H11C), wartosc)
Catch ex As Exception

End Try
End Sub
Code:
Public Function GetPointer(ByVal Offsets As Integer()) As Integer
        Dim BaseAddress As Integer = GetBaseAddress(tProcess)
        BaseAddress = BaseAddress + Offsets(0)
        If Offsets.Length > 1 Then
            Dim RealAddress As Integer = ReadMemory(Of Integer)(BaseAddress)
            RealAddress = RealAddress + Offsets(1)
            Dim i As Integer = Offsets.GetUpperBound(0)
            For index As Integer = 2 To Offsets.GetUpperBound(0)
                RealAddress = ReadMemory(Of Integer)(RealAddress) + Offsets(index)
            Next
            Return RealAddress
        Else
            Return BaseAddress
        End If
    End Function
Posts 1–15 of 15 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us