看流星社区

 找回密码
 注册账号
查看: 2538|回复: 3

如何在C++BUILDER中使用ReadProcessMemory

[复制链接]

该用户从未签到

发表于 2011-3-24 10:21:18 | 显示全部楼层 |阅读模式
看了各位大侠的贴子后自己用C++BUIDER也想做一个50辅助
但是碰到了麻烦,不知道如何使用ReadProcessMemory读取内存的数据
我用了只读到0为什么,请大侠们帮帮忙
      long h;
      ReadProcessMemory(ph,(LPCVOID)(0x0090036C<<0x24<<0x25c),h,32,0);
        Edit1->Text=(long)h;
就是这部份读取结果为0
窗口句柄和进程ID都对
      ReadProcessMemory(ph,(LPCVOID)(0x0090036C+0x24+0x25c),h,32,0);
这样也不行,不知道为什么

该用户从未签到

发表于 2011-3-24 10:21:33 | 显示全部楼层
long h;
ReadProcessMemory(ph,(LPCVOID)(0x0090036C),@h,4,0);
ReadProcessMemory(ph,(LPCVOID)(h+0x24),@h,4,0);
ReadProcessMemory(ph,(LPCVOID)(h+0x25c),@h,4,0);
Edit1->Text=(long)h;

我不懂CB,凭感觉写的,@是取址运算符,你自己把它改成
CB的

该用户从未签到

发表于 2011-3-24 10:21:43 | 显示全部楼层
long h;
ReadProcessMemory(ph,(LPCVOID)(0x0090036C),@h,4,0);
ReadProcessMemory(ph,(LPCVOID)(h+0x24),@h,4,0);
ReadProcessMemory(ph,(LPCVOID)(h+0x25c),@h,4,0);
Edit1->Text=(long)h;

我不懂CB,凭感觉写的,@是取址运算符,你自己把它改成
CB的

该用户从未签到

发表于 2011-3-24 10:22:00 | 显示全部楼层
DWORD one,two,hp;
::ReadProcessMemory(ph,LPCVOID(0x90036c),&one,4,0);
::ReadProcessMemory(ph,LPCVOID(one+0x24),&two,4,0);
::ReadProcessMemory(ph,LPCVOID(two+0x25c),&hp,4,0);
m_hp=hp; //m_hp是编缉框int变量
试试看看这样行不行,我是新手,这个在V C 6.0上测试过。
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-20 12:55

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表