ReadProcessMemory 第二个参数lpBaseAddress怎么获得

futurepi 2010-07-11 10:21:58
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long

readprocessmemory 第一个是目标进程的句柄, lpBaseAddress 这个参数怎么获得
...全文
288 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
futurepi 2010-07-16
  • 打赏
  • 举报
回复
谢谢楼上的提供源码,我会好好学习下的
aohan 2010-07-14
  • 打赏
  • 举报
回复
请参看我之前发的一个关于植物大战僵尸阳关及金钱修改器的源码例子

http://download.csdn.net/source/2079764


例子中用到了ReadProcessMemory
futurepi 2010-07-14
  • 打赏
  • 举报
回复
有人可以给个 读取内存的例子吗 随便什么例子都行
a1875566250 2010-07-12
  • 打赏
  • 举报
回复
这个地址就是一切的关键,这个参数就是说在目标进程内存中的地址,唉,真不懂怎么解释。。。
PctGL 2010-07-11
  • 打赏
  • 举报
回复
............
那是你要读取的目标地址

自己去分析蜘蛛纸牌,查找自己想读取的地方,然后将这个地方的内存地址值传给 ???

要记得 ??? 必须传进去一个内存地址值,注意下声明方式和传进去的东西
futurepi 2010-07-11
  • 打赏
  • 举报
回复
楼上写的代码看不懂, 我是想读取 蜘蛛纸牌 这个游戏的内存,

Dim gemahwnd, idd As Long
'Dim retV%, r&
'Dim h As Long
Gamehwnd = FindWindow(vbNullString, "蜘蛛")
If Gamehwnd = 0 Then
MsgBox "未运行"
Else

GetWindowThreadProcessId Gamehwnd, idd
If idd = 0 Then
MsgBox " 获取进程标识符失败"
exit sub
End If
hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, idd)
If hProcess = 0 Then
MsgBox "打开进程失败"
Exit Sub
Else:
Print "进程句柄idd=" & hProcess
End If
Dim retV%, r&

'上面的都成功执行了,可是到下面读取内存,第二个参数 不知道要怎么得来
r = ReadProcessMemory(hProcess, ???, retV, 2, 0)
luofenghen 2010-07-11
  • 打赏
  • 举报
回复
pStrBufferMemory = VirtualAllocEx(pHandle, 0, MAX_LVMSTRING, MEM_COMMIT, PAGE_READWRITE)'申请虚拟内存地址
ReadProcessMemory(pHandle, pStrBufferMemory, strBuffer(0), MAX_LVMSTRING, 0)
贝隆 2010-07-11
  • 打赏
  • 举报
回复
这个地址是最不容易得到的。也许需要专业工具
futurepi 2010-07-11
  • 打赏
  • 举报
回复
回3楼的,问题就是 要怎么获得内存地址
我把"蜘蛛"换成了 "计算器" ,在计算器里面输入了123456, 然后用ce查内存, 但是查出来有很多个,都不知道是哪个哪位能教下 ce怎么搜索内存地址 或者哪个软件可以搜索内存地址

1,486

社区成员

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

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