【发布时间】:2021-09-24 09:43:53
【问题描述】:
我用 MmAllocateContiguousMemory 分配页面并获取页面物理地址。
我在页表中添加了 1 对 1 的映射(新的虚拟地址与物理地址相同)。
新的虚拟地址清除了第 32-63 位。
我将 shellcode 写入新的虚拟地址。
我尝试执行 shellcode 并获得 KERNEL_SECURITY_CHECK_FAILURE。
如果我将物理地址映射到内核地址范围内的某个虚拟地址,shellcode 将执行得很好。
如何调用这种保护/行为?
我认为它是 SMEP,但禁用它并没有改变任何东西。
【问题讨论】:
标签: windows x86 kernel shellcode windows-kernel