Windows PAE/PTE 详解
10 - 10 - 12 什么意思呢:
- 第一个 10 就是指向一个页,一个页 4K(4096 字节),每一个成员 4 个字节,也就是 1024 份;
- 第二个一样;
- 第三个是 PTE 的偏移。
访问页目录表的公式:
0xC0300000 + PDI*4
访问页表的公式:
0xC0000000 + PDI*4096 + PTI*4
0xC0300C00 可以获取 cr3,绕 3 次。
最长的因编码 16 位:微软最函数最开始两个字节的废话,就是为了微软后期打补丁,比如写入一个 int3。
2 - 9 - 9 - 12:直接获取不到 cr3。
PDE 获取方式:假设需要转换的线性地址是 0x12345678,0x12345678 右移 18 位,与上 0x3ff8,结果加上 0xC0600000 得到 PDE。

PTE 的获取方式:假设需要转换的线性地址是 0x12345678,0x12345678 右移 9 位,and 0x7FFFF8,结果加上 0xC0000000 得到的是 PTE。



