从 1 到 1 个映射页面执行
Posted
技术标签:
【中文标题】从 1 到 1 个映射页面执行【英文标题】:Execution from 1 to 1 mapped page 【发布时间】:2021-09-24 09:43:53 【问题描述】:我用 MmAllocateContiguousMemory 分配页面并获取页面物理地址。
我在页表中添加了 1 对 1 的映射(新的虚拟地址与物理地址相同)。
新的虚拟地址清除了第 32-63 位。
我将 shellcode 写入新的虚拟地址。
我尝试执行 shellcode 并获得 KERNEL_SECURITY_CHECK_FAILURE。
如果我将物理地址映射到内核地址范围内的某个虚拟地址,shellcode 将执行得很好。
如何调用这种保护/行为?
我认为它是 SMEP,但禁用它并没有改变任何东西。
【问题讨论】:
【参考方案1】:没关系,pml4 条目已经存在并设置了 nx 位。
【讨论】:
以上是关于从 1 到 1 个映射页面执行的主要内容,如果未能解决你的问题,请参考以下文章