一个非常困扰我的问题,大牛进来看看

a80491636 2012-07-01 08:50:34
这段代码是我在网上找的。
读取到得内存数据好像和真实的不太一样呀。
是哪里错了呢。

Private Sub cmdRead_Click()
Dim pid As Long, hProc As Long

pid = getProcessId(txtExeName)
labPid.Caption = "进程编号:" & pid
hProc = OpenProcess(pid)
labHProc.Caption = "进程句柄:" & hProc

Dim buff() As Byte, ret As Boolean
ret = ReadProcessMemory(hProc, Val(txtAddr), buff, Val(txtLen))
Print buff
'ret = ReadProcessMemory(hProc, ByVal buff + &H4F0, buff, Val(txtLen))
If ret Then

' txtRet = ByteArrayToString(buff)
Dim i As Long
For i = 0 To UBound(buff)
txtRet.Text = txtRet.Text + " " + Right("00" + Hex(buff(i)), 2)
Next
Else
MsgBox "读取失败"
End If

CloseHandle pid
CloseHandle hProc
End Sub
...全文
110 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2012-07-02
  • 打赏
  • 举报
回复
推荐使用WinHex软件查看文件或内存中的原始字节内容。
贝隆 2012-07-01
  • 打赏
  • 举报
回复
有什么区别?
a80491636 2012-07-01
  • 打赏
  • 举报
回复
什么意思。读取到得 数值 不对呀。。比如 真数值 是 1600
它读出来 是 400 。。。。

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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