紫水晶编程技术论坛 - 努力打造成全国最好的编程论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 1587|回复: 2

转换物理地址

[复制链接]

8

主题

47

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
63
发表于 2020-7-23 09:48:46 | 显示全部楼层 |阅读模式
在不使用:KeStackAttachProcess 的情况下

假如要读另一个进程的 0x401000位置
想通过映射物理内存实现
已经映射了他的CR3 物理内存,怎么样算出   0x401000 对应的物理内存

我只想到了一个笨方法 就是 映射CR3 -> PXE ->PPE ->PDE ->PTE 这样一下一下的映射
有没有什么好方法不用这么麻烦。映射这些物理内存 在高版本系统还有限制,还得绕好麻烦

854

主题

3481

帖子

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
36100
发表于 2020-7-25 03:00:14 | 显示全部楼层
在WIN7以及之前的系统,只需要自己读取/设置CR3就可以操作进程内存了,虽然在大量使用的情况下会蓝屏。

WIN8之后此路不通了。然而因为PG的关系,各路驱动都“老实”了很多,所以自WIN8开始,我又用回了标准方法,至于有没有特殊途径实现操作进程内存,我也不得而知了。

5

主题

50

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
105
发表于 2021-10-29 16:36:12 | 显示全部楼层
目前都是你这种方法,没有其他更好的方法
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

手机版|Archiver|紫水晶工作室 ( 粤ICP备05020336号 )

GMT+8, 2024-4-25 20:55 , Processed in 0.024380 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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