Originally Posted by
Lovroman
Code:
Public Class Form1
Public Function BaseProcessAddress(ByVal GameProc As String) As Integer
Try
If Process.GetProcessesByName(GameProc).Length <> 0 Then
For Each [Mod] As ProcessModule In Process.GetProcessesByName(GameProc)(0).Modules
If [Mod].ModuleName = GameProc Then
Return [Mod].BaseAddress.ToInt32()
End If
Next
Return 0
Else
Return 0
End If
Catch
Return 0
End Try
End Function
Public Function Pointer(ByVal [Module] As String, ByVal Pointers As Integer()) As Integer
Dim BaseAddress As Integer
BaseAddress = BaseProcessAddress([Module]) + Pointers(0)
Dim RealAddress As Integer
RealAddress = ReadMemory(Of Integer)((BaseAddress) + Pointers(1))
Dim i As Integer = 2
Do While i <> Pointers.Length - 2
RealAddress = ReadMemory(Of Integer)((RealAddress) + Pointers(i))
i += 1
Loop
Return RealAddress
End Function
End Class
..Great mistakes.
Should work now.
Following up what you did here, how the code should work with game Game_Example.exe and a 5 level pointer?
This is my stuff:
Code:
1st Offset 0
2nd Offset 59
3rd Offset ED
4th Offset 11
5th Offset 21
Base + Pointer Address: "Game_Example.exe"+011762FB
I'm also doing:
Code:
MessageBox.Show(BaseProcessAddress("Game_Example.exe").ToString)
To see if I can get a messagebox displaying the value containing the address... but it only shows 0.
Any help will be greatly appreciated~!