页表基址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验证一下公式,完全正确!

相关推荐
IDC02-阿杰2 小时前
Windows WSL2安装Ubuntu24.04全攻略
linux·windows
勤自省4 小时前
Windows 文件无法粘贴到 Linux(Ubuntu)系统的解决方案
linux·windows·ubuntu
张赐荣4 小时前
为资源管理器文件右键菜单增加 使用 Web 搜索 功能
windows
以太浮标5 小时前
华为eNSP模拟器综合实验之- DHCP、DNS、HTTP和FTP服务器配置案例Client-Server
linux·服务器·windows·http·华为·信息与通信
帕里亚5 小时前
ubuntu18.04 APT升级 glibc2.28 (Jetson)
linux·运维·windows
charlie1145141917 小时前
通用GUI编程技术——图形渲染实战(二十八)——图像格式与编解码:PNG/JPEG全掌握
开发语言·c++·windows·学习·图形渲染·win32
2601_955781987 小时前
OpenClaw Windows 部署全程图文教程 | 免代码
windows
玖釉-8 小时前
告别 Shared Memory 瓶颈:Vulkan Subgroup 架构解析与硬核实战指南
开发语言·c++·windows·图形渲染
十五年专注C++开发8 小时前
windows和linux使用system启动进程是一样的吗?
linux·c++·windows·system
Ancelin安心9 小时前
西工大noj(C/C++)100题参考题解及注意事项(2024)
c语言·c++·ide·windows·vscode·算法