Presentation is loading. Please wait.

Presentation is loading. Please wait.

本节内容 KPCR:CPU控制区(Processor Control Region) 视频提供:昆山滴水信息技术有限公司 官网地址:

Similar presentations


Presentation on theme: "本节内容 KPCR:CPU控制区(Processor Control Region) 视频提供:昆山滴水信息技术有限公司 官网地址:"— Presentation transcript:

1 本节内容 KPCR:CPU控制区(Processor Control Region) 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :

2 内容回顾 进程在内核中对应结构体:EPROCESS 线程在内核中对应结构体:ETHREAD CPU在内核中也有一个对应的结构体: KPCR

3 1、KPCR介绍 1) 当线程进入0环时,FS:[0]指向KPCR(3环时FS:[0] -> TEB) 2) 每个CPU都有一个KPCR结构体(一个核一个) 3) KPCR中存储了CPU本身要用的一些重要数据:GDT、IDT以及线程相关的一些信息。 (在winbbg中查看KPCR结构体)

4 2、_NT_TIB主要成员介绍 1) +0x000 ExceptionList : Ptr32_EXCEPTION_REGISTRATION_RECORD 当前线程内核异常链表(SEH) 2) +0x004 StackBase : Ptr32 Void +0x008 StackLimit : Ptr32 Void 当前线程内核栈的基址和大小 3) +0x018 Self : Ptr32 _NT_TIB 指向自己(也就是指向_NT_TIB结构) 这样设计的目的是为了查找方便.

5 3、KPCR的其他成员介绍 1) +0x01c SelfPcr : Ptr32 _KPCR 指向自己,方便寻址 2) +0x020 Prcb : Ptr32 _KPRCB 指向拓展结构体PRCB 3) +0x038 IDT : Ptr32 _KIDTENTRY IDT表基址 4) +0x03c GDT : Ptr32 _KGDTENTRY GDT表基址

6 4、KPCR的其他成员介绍 5) +0x040 TSS : Ptr32 _KTSS 指针,执行TSS任务段,每个CPU都有一个TSS任务段. 6) +0x051 Number : UChar CPU编号: 。。。 7) +0x120 PrcbData : _KPRCB 拓展结构体

7 5、PRCB成员介绍 +0x004 CurrentThread : Ptr32 _KTHREAD +0x008 NextThread : Ptr32 _KTHREAD +0x00c IdleThread : Ptr32 _KTHREAD 当前线程 即将切换的下一个线程 空闲线程

8 6、特别强调: 我们课程里面讲解的内容,与《内核情景分析》《Windows内核原理与实现》均有不同。 ReactOS是开源免费的Windows NT系列(含NT4.0/2000/XP/2003)克隆操作系统 WRK 是微软针对教育和学术界开放的 Windows 内核的部分源码 而我们的课程是基于Windows XP SP2/SP3 二进制文件. 微软并不开源,很多内核成员的作用需要自己去分析.

9 7、课后练习: VIP会员可见


Download ppt "本节内容 KPCR:CPU控制区(Processor Control Region) 视频提供:昆山滴水信息技术有限公司 官网地址:"

Similar presentations


Ads by Google