首页
社区
课程
招聘
GDT的疑惑
发表于: 2010-5-3 14:25 4658

GDT的疑惑

2010-5-3 14:25
4658
用icesword导出的GDT表如下
GDT Base:0xBA33C190 , GDT Limit:0x3FF

000        Reserved
008  Mem  00000000:FFFFFFFF(Base:Limit)    P    0(DPL)    1011
010  Mem  00000000:FFFFFFFF(Base:Limit)    P    0(DPL)    0011
01B  Mem  00000000:FFFFFFFF(Base:Limit)    P    3(DPL)    1011
023  Mem  00000000:FFFFFFFF(Base:Limit)    P    3(DPL)    0011
028  Sys  BA338D70:000020AB(Base:Limit)    P    0(DPL)    B(type)
030  Mem  BA338000:00001FFF(Base:Limit)    P    0(DPL)    0011
03B  Mem  7FFDF000:00FFFFFF(Base:Limit)    P    3(DPL)    0011
043  Mem  00000400:0000FFFF(Base:Limit)    P    3(DPL)    0010
048        Reserved
050  Sys  BA33B080:00000068(Base:Limit)    P    0(DPL)    9(type)
058  Sys  BA33B0F0:00000068(Base:Limit)    P    0(DPL)    9(type)
060  Mem  00022F40:0000FFFF(Base:Limit)    P    0(DPL)    0011
068  Mem  000B8000:00003FFF(Base:Limit)    P    0(DPL)    0010
070  Mem  FFFF7000:000003FF(Base:Limit)    P    0(DPL)    0010
078  Mem  80400000:0000FFFF(Base:Limit)    P    0(DPL)    1010
080  Mem  80400000:0000FFFF(Base:Limit)    P    0(DPL)    0010
088  Mem  00000000:00000000(Base:Limit)    P    0(DPL)    0010
090        Reserved
098        Reserved
0A0  Sys  8A08EF98:00000068(Base:Limit)    P    0(DPL)    9(type)
..........

导出的LDT的信息如下
IDT Base:0x8003F400 , IDT Limit:0x7FF

按照intel手册提供的图

LDT描述符应该在GDT里,可是为什么我在GDT里没找到LDT的信息呢(base.limit)???

另外一个问题GDT里对应的描述符是如何定义的?就是seg.desc是那几个,TSS.DESC是那几个。。。???
调试查看了下段寄存器,只有部分收获,比如08是ring0的cs,10是ring0的SS,1b是ring3的CS,23是DS,ES,30是RING0的FS,3B是RING3的FS,除此之外其他的描述符都是什么描述符??他们在GDT里的位置是不是固定好的,定义好的???

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 35
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
LDT是要依靠GDT的 如果没记错只是存了GDT索引
GDT描述符去查intel手册就ok

哈哈 只有我回答了你 快些吧20KX给我吧
2010-5-4 13:00
0
雪    币: 463
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
嘿嘿,LZ也问了这个问题呀。。。http://bbs.pediy.com/showthread.php?t=110857这是我当初问的相关问题,里面有人解答了,相信对LZ会有帮助的
还有一点是,在WINDOWS XP 中,没有 LDT.(来自rootkit ring3 进 ring0 之门系列[一] -- 调用门)
2010-5-4 15:11
0
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
4
二楼只知道要钱哦,说和没说一样,还是三楼同学好,尽管他的贴我之前在论坛搜索看过了
至于说winxp里没有LDT,我到不这样认为,实际上描述符表里存放的不仅仅是段描述符,还有很多其他类型的描述符,比如TSS,CALL GATE,因为采用了FLAT模式,所有的段描述都是00000000:FFFFFFFF,所以没有必要在LDT里再重复存入段描述符,直接用GDT里的就好了,我仔细看了下icesword导出的LDT信息,发现其实LDT里存放的都是调用门,所以我觉得网上的某些说法不一定正确
GDT和LDT里的结构参照顶楼的图
至于为什么在GDT里找不到LDT的描述符还不清楚,昨天找了点资料是说选择子在048的地方为LDTD,不知为什么上面GDT里显示为reserved.....
2010-5-4 20:30
0
游客
登录 | 注册 方可回帖
返回
//