分页寻址x32(PAE)

参考文档:

保护模式-分页管理机制

启用PAE后虚拟地址到物理地址的转换

Windows虚拟地址转物理地址(原理+源码实现,附简单小工具)

首先查看CR4寄存器第5位为1说明开启了PAE

 转换规则如下:

 规则:

每个项的长度为8

VA为

2位:(30—31)页目录指针表的索引

9位:(21—29)页目录表索引

9位:(12—20)页表索引

12位:(0—11)页内偏移

例如:开启PAE的情况下将计算器进程的入口点0xEC1000转化为物理地址

16进制

2进制

说明

0X0

00

(30—31)页目录指针表的索引

0X7

000000111

(21—29)页目录表索引

0XC1

011000001

(12—20)页表索引

0X0

000000000000

(0—11)页内偏移

1、windbg输入:!process 0 0 查看calc进程信息

 记录下两个个关键信息:

DirBase    :   be62e300           查表需要

PROCESS :87eb1530           附加进程需要

2:windbg输入:.process 87eb1530 附加到指定进程

 

3、定位页目录指针表的索引

我们的页目录指针表的索引是:0

 得到的是:9f789801,因为后3位是属性位,所以直接抹掉变成:9f789000

4、定位页目录表索引

!dd 9f789000+0x8*7

 得到的是:9f65d867,因为后3位是属性位,所以直接抹掉变成:9f65d000

5、定位页表索引

!dd 9f65d000+0x8*0XC1

 得到的是:96927025,因为后3位是属性位,所以直接抹掉变成:96927000

6、定位页内偏移

!dd  96927000+0x0

 

7、得到最终物理地址

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值