how to use ReadProcessMemory to get char name with vb????

06/06/2011 12:18 Aduhn32#1
:handsdown::handsdown::handsdown::handsdown:

I've got an offset but do not know how to use it to read type string,i know just to read type integer.

this my function

Public Shared Sub PointerRead(ByVal Offset As Integer(), ByRef Buffer As Integer)
Try
Dim b As Integer = Nothing
Dim t As Integer = _PerfectWorldBaseAddress
ReadProcessMemory(_hProcess, t, b, 4, 0)
For i = 0 To UBound(Offset)
t = b + Offset(i)
ReadProcessMemory(_hProcess, t, b, 4, 0)
Next
Buffer = b
Catch Ex As Exception
'MsgBox(Ex)
End Try
End Sub

I needed a way to read the integer type.:(:(:(:(
Which should be changed?:confused::confused:
:handsdown::handsdown::handsdown::handsdown::hands down:
06/09/2011 05:45 unfaceguy#2
i use this function to getInfoChar
Code:
   Public Sub QuickRefreshData(ByVal ProcessID As Integer)
        Dim lpBaseAdd, lpBaseAdd2, lpBaseAdd3 As Integer
        Dim lpTempAddName, bValue As Integer
        Try
            Dim hProcess As Integer = OpenProcess(PROCESS_VM_READ, False, ProcessID)

            ReadProcessMemory(hProcess, GAME_BASE_ADD, lpBaseAdd, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd + &H1C, lpBaseAdd2, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd2 + &H20, lpBaseAdd3, 4, 0)

            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Cur_HP, Cur_HP, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Max_HP, Max_HP, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Cur_MP, Cur_MP, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Max_MP, Max_MP, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Target, Target, 4, 0)

            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Name, lpTempAddName, 4, 0)

            For i As Byte = 1 To 32 Step 2
                ReadProcessMemory(hProcess, lpTempAddName + i - 1, bValue, 2, 0)
                If bValue = 0 Then Exit For
                Name += ChrW(bValue)
            Next

        Catch ex As Exception
            WriteLog(ex.ToString, "RefreshPlayerData", "System")
        End Try


    End Sub
06/18/2011 14:07 Aduhn32#3
Quote:
Originally Posted by unfaceguy View Post
i use this function to getInfoChar
Code:
   Public Sub QuickRefreshData(ByVal ProcessID As Integer)
        Dim lpBaseAdd, lpBaseAdd2, lpBaseAdd3 As Integer
        Dim lpTempAddName, bValue As Integer
        Try
            Dim hProcess As Integer = OpenProcess(PROCESS_VM_READ, False, ProcessID)

            ReadProcessMemory(hProcess, GAME_BASE_ADD, lpBaseAdd, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd + &H1C, lpBaseAdd2, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd2 + &H20, lpBaseAdd3, 4, 0)

            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Cur_HP, Cur_HP, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Max_HP, Max_HP, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Cur_MP, Cur_MP, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Max_MP, Max_MP, 4, 0)
            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Target, Target, 4, 0)

            ReadProcessMemory(hProcess, lpBaseAdd3 + OFFSET_PLAYER.Name, lpTempAddName, 4, 0)

            For i As Byte = 1 To 32 Step 2
                ReadProcessMemory(hProcess, lpTempAddName + i - 1, bValue, 2, 0)
                If bValue = 0 Then Exit For
                Name += ChrW(bValue)
            Next

        Catch ex As Exception
            WriteLog(ex.ToString, "RefreshPlayerData", "System")
        End Try


    End Sub
wow thanks, it works