首页
社区
课程
招聘
[求助]关于ReadProcessMemory这个函数的疑惑
发表于: 2015-5-15 13:52 6515

[求助]关于ReadProcessMemory这个函数的疑惑

2015-5-15 13:52
6515
最近要写一个R3下的检测进程HOOK的工具,具体做法应该是这样的流程吧?
1.以所有权限打开某进程 .
2.快照之后遍历该进程加载的所有模块 .
3.为本地的一块缓冲区按照模块大小分配空间.
4.使用ReadProcessMemory函数,以模块加载基址和大小为标准去对方进程中读出数据写入缓冲区.
5...(接下来就是查找HOOK之类的了).

我在第4步上遇到了问题,就是这个ReadProcessMemory函数,有若干模块无法使用这个函数读取数据 ,像是ntdll.dll,kernel32.dll,user32.dll,还有几个 这些都不能正常读取,错误码均为:

0x0000012b : 仅完成部分的 ReadProcessMemory 或 WriteProcessMemory 请求。        

我过滤了一下 以迅雷做实验 以下dll都不能使用这个函数正常读取:


试了好多方法均无效(提权,修改页属性),但如果是读取自己的ntdll则成功,然后试了一下注入,再ReadProcessMemory 也成功读取ntdll,为什么远程就不行了呢? 关键是有些dll可以读取 有些不行 这让我十分的费解,不知各位英豪可有过同样遭遇? 怎么解决的呢? 真心求教了 先谢谢大家了.

哎?..我再写"修改页属性"这几个字的时候突然想起来,貌似我修改的是本地的页属性吧...额..,但不知道是不是这个原因,标注一下先

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 81
活跃值: (100)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
有人做过类似的东西,叫hookshark,不过好像很久没更新了
http://bbs.pediy.com/showthread.php?t=117867&highlight=hookshark
2015-5-15 14:05
0
雪    币: 38
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
好的 谢谢 我先看看
2015-5-16 08:29
0
游客
登录 | 注册 方可回帖
返回
//