首页
社区
课程
招聘
[求助]windows全局描述符表GDT
发表于: 2013-10-9 09:45 3544

[求助]windows全局描述符表GDT

2013-10-9 09:45
3544
我最近在搞windows 内核
有一些问题想请教你一下
全局描述符表GDT在整个系统运行过程中只维护一张
那么这张表应该是固定的
怎么知道这张描述符表中描述符项所描述的段的内容?
我现在只知道 GDT的0x30段是当前线程的线程环境块
Gdt的0x3b段是系统处理器控制区域kpcb
希望各位大牛能给一些补充或者推荐一些学习资料或者推荐一些内核方面的学习方法

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 1453
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不是有一本寒江独钓的书吗
2013-10-9 12:17
0
雪    币: 257
活跃值: (67)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
LZ弄反了,GDT的0x3b段是当前的线程环境块teb
0x30段才是系统处理器控制区域kpcr
2013-10-9 12:55
0
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
寒江独钓这本书没有讲过这些吧。NT驱动开发时详细看过这本书。
2013-10-11 14:54
0
雪    币: 51
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
先看CPU保护模式的资料吧。
2013-10-12 09:32
0
雪    币: 233
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如果你问的是i386平台(AMD64有所不同)上Windows系统的GDT表项偏移:

R0_CODE      8  // 0x08
R0_DATA     16  // 0x10
R3_CODE     24  // 0x18
R3_DATA     32  // 0x20
TSS         40  // 0x28
R0_PCR      48  // 0x30
R3_TEB      56  // 0x38
VDM_TILE    64  // 0x40
LDT         72  // 0x48
DF_TSS      80  // 0x50
NMI_TSS     88  // 0x58
2013-10-12 10:18
0
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
保护模式汇编讲的是他的结构以、使用方法和保护模式汇编。这些已经OK,我想知道的是windows系统在KiSystemStartup中内核各模块的初始化完成之后,Gdt中的各描述符项对应段的内容。
2013-10-13 12:28
0
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
找到了

Sel.    Type               Base               Limit          DPL    Attributes
GDTbase=80036000    Limit=03FF
0008    Code32        00000000       FFFFFFFF    0        P      RE
0010    Data32         00000000       FFFFFFFF    0        P      RW
001B    Code32        00000000       FFFFFFFF    3        P      RE
0023    Data32         00000000       FFFFFFFF    3        P      RW
0028    TSS32           8024D000      000020AB    0        P      B
0030    Data32         FFDFF000       00001FFF    0        P      RW
003B    Data32         7FFD9000       00000FFF    3       P      RW
0043    Data16         00000400      0000FFFF    3        P      RW
0048    LDT               E1190000       000001FF    0        P
0050    TSS32           80149F60       00000068    0        P
0058    TSS32           80149FC8       00000068    0        P
0060    Data16         00022940       0000FFFF    0        P      RW
0068    Data16         000B8000       00003FFF    0        P      RW
0070    Data16         FFFF7000        000003FF    0        P      RW
0078    Code16        80400000       0000FFFF    0        P      RE
0080    Data16         80400000       0000FFFF    0        P      RW
0088    Data16         00000000       00000000    0        P      RW
0090    Reserved      00000000       00000000    0       NP
...
00E0    Reserved     00008003        00006100    0        NP
00E8    Data16         00000000       0000FFFF    0        P      RW
00F0    Code16         80117DB0       0000028D    0        P      EO
00F8    Data16         00000000       0000FFFF    0        P      RW
0100    Reserved      00008003       00006108    0        NP
...
03F8    Reserved     00000000        00000000    0        NP
2013-10-25 17:50
0
游客
登录 | 注册 方可回帖
返回
//