关于vb.net ReadProcessMemory读取64位程序9位内存地址失败问题

hang886 2017-11-17 05:44:44
情况是这样的,想修改游戏是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)


...全文
499 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧