将虚拟地址映射到物理地址

逆向工程 视窗 记忆
2021-06-21 07:05:18

我知道如何将虚拟地址转换为物理地址,但是是否可以使用一个所需的 VA,并且如果您检测到它不存在 PTE(或 PDE、PTPE 或 PML4E)来实际将其映射到正确的物理地址?

让我们以 x86 非 PAE Windows 系统上的 VA 0x30000 为例。把它分成我们有的 3 组

0000000000 | 0000110000 | 000000000000

页目录索引 = 0x0

页表索引 = 0x30

物理偏移 = 0x0

我们从 CR3 得到 PD 的物理地址,发现它的 PDE 的 Present 位被清除了。是否可以在物理内存中(在 pd[pdi] 处)写入一个有效的 PDE(实质上是设置 Present 位),然后遍历所有表(将条目标记为存在),最后让 VA 对某个时间有效PA 以便将来翻译它的尝试会成功?甚至可以直接从内核模块写入物理地址吗?

0个回答
没有发现任何回复~