本节内容 进程结构体EPROCESS 视频提供:昆山滴水信息技术有限公司 官网地址:www.dtdishui.com 论坛地址:www.dtdebug.com QQ交流 :49759272.

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

职业指导服务系统 欢迎了解职业指导服务系统!
代理商入件流程.
第二节 时间和位移.
房型介紹 單日 10天以上 托嬰照護 月子餐 VIP 特約 溫馨 精緻
教育部职业院校外语类专业教指委 第一届外语教学成果奖解析 江小明 2016年6月13日.
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
普通话模拟测试 与学习平台 使用指南.
網路小說劇情建構與伏線營造 Windows98.
服 务 管 理 新 概 念 服务行业管理软件专业开发商.
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
DM81X 视频采集处理 ——MCFW框架介绍 广州创龙电子科技有限公司
本节内容 模拟线程切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
本节内容 KPCR:CPU控制区(Processor Control Region) 视频提供:昆山滴水信息技术有限公司 官网地址:
北楚教你答题滔滔不绝停不下来 ——如何答题丰满有内容.
本节内容 字符编码 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
_01Win32简介与IDE简介 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
本节内容 消息的分发 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
_04Combox控件和ListBox控件的使用
_05MessageMap的原理 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
Select模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
本节内容 段描述符与段选择子 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
编译OpenSSL 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_08文件的基本操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 内存复制指令 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 Private Memory 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
<编程达人入门课程> 本节内容 计算机编程语言 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 线性地址的管理 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 模块隐藏 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
3.1私有内存的分配.
本节内容 消息的接收 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
<编程达人入门课程> 本节内容 学习路线 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_03宽字符与Unicode编程 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
Python 环境搭建 基于Anaconda和VSCode.
本节内容 结构体.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
本节内容 指针类型的使用 视频提供:昆山爱达人信息技术有限公司.
本节内容 通用寄存器 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_08文件操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
WSAAsyncSelect 模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
_07多连接之select模型 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
阻塞式模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
§4 连续型随机变量.
MFC的六大核心 机制 命令传递 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang
_01自己实现简单的消息处理框架模型 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 导出表 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 如何调试驱动程序? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
6.1.1 平方根.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
编程达人-- 从零开始学UI系列教程 第九节、布尔运算 先行者 YC.
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
本节内容 SEMAPHORE 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
本节内容 this指针 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Presentation transcript:

本节内容 进程结构体EPROCESS 视频提供:昆山滴水信息技术有限公司 官网地址:www.dtdishui.com 论坛地址:www.dtdebug.com QQ交流 :49759272

内容回顾 从这一节课开始学习进程、线程相关的知识。 进程线程的知识点很多,如果我们想了解问题的本质,就要从一些关键 的结构体学起,这节课的内容是介绍一个与进程密切相关的结构体: EPROCESS

1、进程结构体EPROCESS 每个windows进程在0环都有一个对应的结构体:EPROCESS 这个结构体包含了进程所有重要的信息。 (在winbbg中查看EPROCESS结构体)

2、KPROCESS主要成员介绍 1) +0x000 Header : _DISPATCHER_HEADER “可等待”对象,比如Mutex互斥体、Event事件等(WaitForSingleObject) 2) +0x018 DirectoryTableBase : [2] Uint4B 页目录表的基址 3) +0x020 LdtDescriptor : _KGDTENTRY +0x028 Int21Descriptor : _KIDTENTRY 历史遗留,16位Windows 段选择子不够 每个进程都有一个LDT表 Int21Descriptor 是 DOS下要用的

3、KPROCESS主要成员介绍 4) +0x038 KernelTime : Uint4B +0x03c UserTime : Uint4B 统计信息 记录了一个进程在内核模式/用户模式下所花的时间 5) +0x05c Affinity : Uint4B 规定进程里面的所有线程能在哪个CPU上跑,如果值为1,那这个进程的所以线程只能在0号CPU上跑(00000001) 如果值为3,那这个进程的所以线程能在0、1号CPU上跑(000000011) 如果值为4,那这个进程的所以线程能在2号CPU上跑(000000100) 如果值为5,那这个进程的所以线程能在0,2号CPU上跑(000000101) 4个字节共32位 所以最多32核 Windows64位 就64核 如果只有一个CPU 把这个设置为4 那么这个进程就死了 6) +0x062 BasePriority : Char 基础优先级或最低优先级 该进程中的所有线程最起码的优先级.

4、EPROCESS其他成员 1) +0x070 CreateTime : _LARGE_INTEGER +0x078 ExitTime : _LARGE_INTEGER 进程的创建/退出时间 2) +0x084 UniqueProcessId : Ptr32 Void 进程的编号 任务管理器中的PID 3) +0x088 ActiveProcessLinks : _LIST_ENTRY 双向链表 所有的活动进程都连接在一起,构成了一个链表 PsActiveProcessHead指向全局链表头

4、EPROCESS其他成员

5、EPROCESS其他成员 4) +0x090 QuotaUsage : [3] Uint4B +0x09c QuotaPeak : [3] Uint4B 物理页相关的统计信息 5) +0x0a8 CommitCharge : Uint4B +0x0ac PeakVirtualSize : Uint4B +0x0b0 VirtualSize : Uint4B 虚拟内存相关的统计信息 6) +0x11c VadRoot : Ptr32 Void 标识0-2G哪些地址没占用了

6、EPROCESS其他成员 7) +0x0bc DebugPort : Ptr32 Void +0x0c0 ExceptionPort : Ptr32 Void 调试相关 8) +0x0c4 ObjectTable : Ptr32 _HANDLE_TABLE 句柄表 9) +0x174 ImageFileName : [16] UChar 进程镜像文件名 最多16个字节 10) +0x1a0 ActiveThreads : Uint4B 活动线程的数量

7、EPROCESS其他成员 11) +0x1b0 Peb : Ptr32 _PEB PEB((Process Environment Block 进程环境块):进程在3环的一个结构体,里面包含了进程的模块列表、是否处于调试状态等信息。 关于PEB或者其他成员更加详细的说明: 参考 潘爱民老师《Windows内核原理与实现》 中的第3章

4、课后练习: VIP会员可见