页表基址PAE(29912)

分析MmIsAddressValid函数

MmIsAddressValid 是 Windows 内核(对于29912分页是ntkrnlpa.exe)提供的一个函数,用于:

它用来检测一个地址 是否有有效页表项(PTE/PDE),并且 该页已经被 page-in(commit)且 present 位为 1。

MmIsAddressValid 只是一个外壳,它真正执行地址检查的是内部函数 MiIsAddressValid。

根据分析可以得出以下结论:

cpp 复制代码
PDE_address = (VA>>0x12)&0x3ff8 + 0xC0600000
PTE_address = (VA>>0x9)&0x7FFFF8 + 0xC0000000

最后拿GDT表地址0x80b99000验证一下公式,完全正确!

相关推荐
c++之路7 小时前
CMake 系列教程(三):变量、条件与控制流
java·windows·spring
百事牛科技8 小时前
Word只打需要的部分:4种打印范围设置方法
windows·word
sun00770018 小时前
SniffMaster(读取苹果的ats文件) 和 wireshark
windows
caimouse1 天前
Reactos 第 5 章 进程与线程 — 5.8 Windows 的 APC 机制
c语言·windows
PHP隔壁老王邻居1 天前
windows菜单搜索栏无法显示历史记录或者无法使用修复方法
windows
道一231 天前
Windows系统查看端口占用进程的3种实用方法
windows·笔记
半条-咸鱼1 天前
【INACCESSIBLE_BOOT_DEVICE】安装 Config Tool 后 Windows 蓝屏,最终通过 VMware 虚拟机解决
windows·stm32·vmware·芯片
人工小情绪1 天前
Windows 安装 Codex 桌面版,并用 CC Switch 管理配置
人工智能·windows·codex·cc switch
caimouse1 天前
Reactos 第 5 章 进程与线程 — 5.11 线程本地存储 TLS
c语言·windows