关于vb.net ReadProcessMemory读取64位程序9位内存地址失败问题
情况是这样的,想修改游戏是64位的程序,用CE已经找到9位的基址是1416F6ED5读取全部是0
已经尝试读取其他8位的地址完全没有问题,请问这是什么原因,代码应该修改,希望能解决问题,谢谢各位。
Private Function GetString(ByVal address As String, ByVal ClassPid As Integer) As String
On Error Resume Next
Dim Base(10) As Byte
Dim word As String = ""
Dim bytesRead As Integer = 0
hProcess = OpenProcess(WM_READ, False, ClassPid)
If hProcess <> 0 Then
If hProcess Then
Dim bIRead As Integer
bIRead = ReadProcessMemory(hProcess, address, Base, Base.Length, 0&)
For i = 0 To Base.Length - 1
Dim strLen = Hex(Base(i).ToString)
If Hex(Base(i).ToString).Length = 1 Then
strLen = Hex(Base(i).ToString)
End If
word += " " & strLen
Next
bIRead = Nothing
hProcess = Nothing
CloseHandle(hProcess)
Return Trim(word)
Else
Return msgB
End If
Else
Return msgB
End If
End Function
Textbox1.text= GetString(&H1416F6ED5, ProId)