您现在的位置是:首页 > 其他 当前栏目 启用PAE后虚拟地址到物理地址的转换 转换 启用 虚拟地址 物理地址 2023-09-27 14:26:38 时间 34 [原创]启用PAE后虚拟地址到物理地址的转换 安于此生 2013-11-3 20:54 16073 由常规的两级页表转换得不到物理地址的引发的思考? 可能你会发现一个郁闷的事情--按照通常的两级页表的转化得不到正确物理地址,到底是哪个环节出了问题咧,其实一切都是PAE惹的祸! PAE是神马? PAE:全称Phyiscal Address Extension,物理地址扩展. 如何判断PAE是否开启了PAE. 一般两个特点: 我的电脑=》属性=》常规面板中有物理地址扩展的字样。 CR4寄存器的第5位为1说明开启了PAE 说明当前系统启用了PAE. 新的转化规则 转换示意图 规则: 每个项的长度为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获取计算器进程的信息 页目录指针表物理地址:0x17f02c0 2.定位页目录指针表并获取页目录表物理页地址 页目录指针表项的下标为0,所以就是0x06d13801,因此0x06d13000是页目录表物理页面的首地址。 3.定位页表项 0x4250867就是要找的页目录表项,因此页表物理内存页面首地址为0x4250000. 4.定位物理页面 0x56b7000就是物理页面首地址,0x457是偏移,所以0x056b7475就是我们要转化的物理地址了。 正好就是虚拟地址对应的内容。 修改物理地址处首字节对比虚拟地址处显示内容 虚拟地址处内容也随之改变了。 快讯:[快讯]十年后再版!《加密与解密(第4版)》京东开始预售! 上传的附件: jpg 改 rar 本文地址: 启用PAE后虚拟地址到物理地址的转换 相关文章 Python3bytes、hex、字符串之间相互转换java的Enum 使用以及转换C# Enum,Int,String的互相转换【括号匹配&洛谷&进制转换】栈的实战,包教包会《Python Cookbook(第3版)中文版》——6.5 将字典转换为XMLjava基本数据类型和包装类相互转换JS大小写字母转换一行JS实现功能的代码:随机布尔值、是否为工作日、反转字符串、从日期中获取时间、保留小数点、检测苹果设备、滚动到页面顶部、获取所有参数平均值、温度转换OpenCV:图像的颜色空间转换