首页
社区
课程
招聘
6
[旧帖] [原创] 分段分页学习笔记 0.00雪花
发表于: 2011-10-22 18:38 3349

[旧帖] [原创] 分段分页学习笔记 0.00雪花

2011-10-22 18:38
3349

说明:所参考的图表在附件Intel手册中


环境Vmware XP(sp3)  wingdb


一、未开启PAE


boot.ini


multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional - debug " /execute  /fastdetect /debug /debugport=com1 /baudrate=115200



kd> r cr0


cr0=8001003b


PG = 1(31)位  启用分页机制


PE = 1(0)位   启用必面必在保护模式



kd> r cr4


cr4=000006d9


PSE(页尺寸扩展标志) 第4位 = 1


PAE(物理地址扩展标志) 第5位 = 0



步骤:


1. cr0 PG(31) = 1 启用分页机制


2. cr4 PSE(4) = 1


   cr4 PAE(5) = 0 => 物理地址大小32位


3. 页目录表PDE的PS标志(7) =  ?



001B:0041DB40处


CD 03 90 6A FF 68 90 DC 5B 00 68 B8 2B 42 00 64 A1 00 00 00 00 50 64 89 25



00 00 00 00 83 C4 A4



kd> dg cs     


                             P Si Gr Pr Lo


Sel    Base     Limit     Type    l ze an es ng Flags


---- -------- -------- ---------- - -- -- -- -- --------


001B 00000000 ffffffff Code RE    3 Bg Pg P  Nl 00000cfa


分段机制->线性地址:0041DB40



《intel手册》表3-3可知


由于 PAE = 0 -> 32位物理地址大小  


          PS = 0 时 4KB页 采用手册图3-12分解


          PS = 1 时 4MB页 采用手册图3-13分解



图3-12 或3-13可得PDE 从而由图3-14(4kb页32位物理地址)或 图3-15



(4M页32位物理地址) 得到PS标志位


kd> r cr3


cr3=0d8ee000


kd> !dd 0d8ee000


# d8ee000 0da74067 10973067 10659067 00000000


# d8ee010 00000000 00000000 00000000 00000000


# d8ee020 00000000 00000000 00000000 00000000



PDBR(cr3) = 0d8ee000  PS = 0


所以为4KB页,32位物理地址


因此根据图3-12可进行分解线性地址   


             directory       Table         offset


0041DB40    0000 0000 01    00 0001 1101  B40


             1                1D           B40


PDE[1] = 10973067



属性位 0000 0110 0111  


P(0) = 1 在物理内存中


R/W(1) = 1 该组页可写(但结合段描述符,仍然只读?)


U/S(2) = 1 User 用户特权


PWT(page write throught页级直写标记3) = 0


PCD(page cached页级高速缓存禁用标志4) = 0


(6) = 1  为0??


A(5) = 1


PS(7) = 0 (该表项指向页表4KB?)


G(8) = 0 忽略


AVL(9 10 11)



kd> !dd 10973000+0x1D*4


#10973074 1ea19025 00000000 00000000 00000000


PTE[0x1D] = 1ea19025


属性位 0000 0010 0101


P(0) = 1 在物理内存中


R/W(1) = 0 该组页只读


U/S(2) = 1 User 用户特权


[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

上传的附件:
收藏
免费 6
支持
分享
赞赏记录
参与人
雪币
留言
时间
伟叔叔
为你点赞~
2024-5-31 02:41
心游尘世外
为你点赞~
2024-3-12 01:22
飘零丶
为你点赞~
2024-3-2 04:12
QinBeast
为你点赞~
2024-2-9 01:09
shinratensei
为你点赞~
2024-1-24 04:40
PLEBFE
为你点赞~
2023-3-7 00:50
最新回复 (3)
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持楼主
2011-10-22 19:52
0
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
.         学习了。
2011-10-23 22:21
0
雪    币: 2503
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
看看 逛逛 溜达溜达 学习学习!
2011-10-23 22:29
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册