-
-
[求助]关于ReadProcessMemory这个函数的疑惑
-
发表于:
2015-5-15 13:52
6516
-
[求助]关于ReadProcessMemory这个函数的疑惑
最近要写一个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可以读取 有些不行 这让我十分的费解,不知各位英豪可有过同样遭遇? 怎么解决的呢? 真心求教了
先谢谢大家了.
哎?..我再写"修改页属性"这几个字的时候突然想起来,貌似我修改的是本地的页属性吧...额..,但不知道是不是这个原因,标注一下先
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)