Quantcast
Channel: 看雪安全论坛
Viewing all articles
Browse latest Browse all 9556

【原创】启用PAE后虚拟地址到物理地址的转换

$
0
0
由常规的两级页表转换得不到物理地址的引发的思考?
可能你会发现一个郁闷的事情--按照通常的两级页表的转化得不到正确物理地址,到底是哪个环节出了问题咧,其实一切都是PAE惹的祸!

PAE是神马?
PAE:全称Phyiscal Address Extension,物理地址扩展.
如何判断PAE是否开启了PAE.
一般两个特点:
我的电脑=》属性=》常规面板中有物理地址扩展的字样。

附件 84180

CR4寄存器的第5位为1说明开启了PAE
附件 84181
说明当前系统启用了PAE.

新的转化规则
转换示意图
附件 84182

规则:
每个项的长度为8
VA为
2位:(30—31)页目录指针表的索引
9位:(21—29)页目录表索引
9位:(12—20)页表索引
12位:(0—11)页内偏移
例如:开启PAE的情况下将计算器进程的入口点0x01012475转化为物理地址


                         页目录指针表的索引    页目录表索引  页表索引       页内偏移
0x01012475 《=》         00                     000001000   000010010   010001110101
                         0x0                       0x8         0x12           0x475

1.!process 0 0获取计算器进程的信息
附件 84183
页目录指针表物理地址:0x17f02c0
2.定位页目录指针表并获取页目录表物理页地址
附件 84190
页目录指针表项的下标为0,所以就是0x06d13801,因此0x06d13000是页目录表物理页面的首地址。
3.定位页表项
附件 84185
0x4250867就是要找的页目录表项,因此页表物理内存页面首地址为0x4250000.
4.定位物理页面
附件 84186
0x56b7000就是物理页面首地址,0x457是偏移,所以0x056b7475就是我们要转化的物理地址了。
附件 84187
正好就是虚拟地址对应的内容。

修改物理地址处首字节对比虚拟地址处显示内容
附件 84188
附件 84189
虚拟地址处内容也随之改变了。

上传的图像
文件类型: png 1.png (34.5 KB)
文件类型: png 2.png (4.3 KB)
文件类型: png 3.png (65.4 KB)
文件类型: png 4.png (16.6 KB)
文件类型: png 6.png (3.1 KB)
文件类型: png 7.png (3.9 KB)
文件类型: png 8.png (59.6 KB)
文件类型: png 9.png (634 字节)
文件类型: png 10.png (61.0 KB)
文件类型: png 11.png (3.9 KB)

Viewing all articles
Browse latest Browse all 9556

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>