阅读:1176回复:1
soft-ice里的s 命令
用soft-ice作4GB的搜索时,为什么要
s 30:0 L ..... 30:0是什么意思? |
|
沙发#
发布于:2001-09-28 13:38
Win9x/NT/Win2k及UNIX/Linux已经不再工作在实地址模式,而是切入了保护模式。在保护模式下,我门通常所见的 Seg:Offset定址的含义已经变了,Seg中放的不再是“段地址”,而是“选择子”,Offset仍旧是相对偏移。寻址的具体过程是,先由“选择子”确定“描述符”(其实就是一个结构,内有段基地址、段限、及段属性等字段),再由“描述符”确定“段基地址”,段基地址与偏移之和就是线性地址了。
其中选择子的结构如下: 15 3 2 1 0 ---------------------------------- | 描述符索引 |TI| RPL | ---------------------------------- “描述符索引”指明了“描述符”在GDT或LDT中的位置,TI指明描述符是在GDT还是LDT中(TI=0在GDT,TI=1在LDT),RPL指明了请求特权级。 Soft-Ice中的s 30:0 l ffffffff '……' 中的30指明描述符在GDT中(TI=0),且是第6个(索引号=110B),RPL=0,在0 Level是操作系统的核心级。也就是我们访问了M$自己定义的结构题,M$具体定义俺们不管,但30:0的确指向了线性地址的“0”地址,故此俺们可以在4GB的空间任意收索。 如果对保护模式有兴趣,可以在站上下在“保护模式下的80386”(大概吧)或到李彦昌、罗云彬的站点看看。 “不知那位大虾有关于M$的内部数据结构的资料,有那么一丁点也行,给小弟分享分享!”asmsoft@263.net [dolphin 编辑于 2001-09-28 13:41] |
|
|