内核层CS段描述符信息
生活随笔
收集整理的这篇文章主要介绍了
内核层CS段描述符信息
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
双机调试
查看寄存器信息命令:r
段寄存器结构如下:
代码段寄存器 cs = 0008 = 1000B --> 索引:1, TI:00, RPL:0
查看GDT表:
kd> r gdtr gdtr=80b95000 kd> dq 80b95000 80b95000 00000000`00000000 00cf9b00`0000ffff 80b95010 00cf9300`0000ffff 00cffa00`0000ffff 80b95020 00cff300`0000ffff 80008b1e`400020ab 80b95030 834093f7`fc003748 0040f200`00000fff 80b95040 0000f200`0400ffff 00000000`00000000 80b95050 830089f7`d0000068 830089f7`d0680068 80b95060 00000000`00000000 00000000`00000000 80b95070 800092b9`500003ff 00000000`00000000
段基址:0000 0000段大小:G为1 所以 FFFFF x 4KB 也就是4GB默认操作数大小:D位为1,所以默认操作数大小以及默认寻址大小就是32位64位代码段标志L位:0表示否DPL:说明访问这个段,需要0环权限S:为1,说明这是代码段或者数据段TYPE:1(代码段) 0(非一致性代码段) 1(可读的) 1(此段已经被访问过了)从加粗部分来看的话,这个描述描述的是一个0环代码段。
查看寄存器信息命令:r
段寄存器结构如下:
代码段寄存器 cs = 0008 = 1000B --> 索引:1, TI:00, RPL:0
查看GDT表:
kd> r gdtr gdtr=80b95000 kd> dq 80b95000 80b95000 00000000`00000000 00cf9b00`0000ffff 80b95010 00cf9300`0000ffff 00cffa00`0000ffff 80b95020 00cff300`0000ffff 80008b1e`400020ab 80b95030 834093f7`fc003748 0040f200`00000fff 80b95040 0000f200`0400ffff 00000000`00000000 80b95050 830089f7`d0000068 830089f7`d0680068 80b95060 00000000`00000000 00000000`00000000 80b95070 800092b9`500003ff 00000000`00000000
根据索引找到对应的代码段的描述符:00cf9b00`0000ffff
| Base | G | D | L | AVL | LIMIT | P | DPL | S | TYPE | Base |
| 1 | 1 | 0 | 0 | 1 | 00 | 1 | 1011 | |||
| 00 | c | f | 9 | b | 00 | |||||
| Base | LIMIT |
| 0000 | ffff |
总结
以上是生活随笔为你收集整理的内核层CS段描述符信息的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: X86汇编——简易通讯录
- 下一篇: 用户层CS段描述符信息