课程目录
+—第01章
| 1-0-1 VKD两分钟建立双机调试
| 2-0-2 Windbg双机调试基础操作
| 3-0-3 WDK按照和第一个驱动编写
| 4-0-4 Windows进程的概念
| 5-0-5 Windows线程和KPCR的概念
| 6-0-6 句柄和内核对象以及Windows系统构架
|
+—第02章
| 10-1-4 x64Vs使用内联汇编
| 11-1-5-1保护模式的段保护
| 12-1-5-2系统描述符
| 13-1-6控制寄存器
| 14-1-7MSR寄存器对syscall和sysret的支持
| 15-1-8MSR寄存器对Swapgs的支持并进行实验验证
| 16-1-9IA32E分页本质
| 17-1-10页表自映射
| 18-1-11-1实现Windbg!Pte功能
| 19-1-11-2实现Windbg!Pte功能
| 7-1-1×64通用寄存器差别
| 8-1-2×64线性地址规范和全局变量寻址
| 9-1-3×64调用约定
|
+—第03章
| 20-2-1 第二章概述
| 21-2-2 线程内核栈布局以及Ktrap_frame
| 22-2-3 Ktrap_frame的作用以及nt!Zw和nt!Nt的区别
| 23-2-4 SSDT表函数寻找以及过滤表和GUI线程的转换
| 24-2-5 系统调用参数的复制并浅谈ETWHook
| 25-2-6 Apc派遣和InstCall回调
| 26-2-7 PCIDE和KPTI
|
+—第04章
| 00 – 专用播放器.url
| 01 – 更多好课程.url
| 27-3-1 句柄概念,R3通过句柄找到内核对象地址
| 28-3-2 私有句柄表
| 29-3-3 全局句柄表
| 30-3-4逆向ObRefObject 内核句柄的判断
| 31-3-5 逆向ObRefObject 句柄权限 三级指针由来
| 32-3-6 ObTypeIndexTable和Index解密
| 33-3-7 句柄回调和简单破除方法
|
+—第05章
| 34-4-1 本章概论
| 35-4-2 系统内存空间管理以及为什么在高IRQL不要用分页内存
| 36-4-3 用户内存空间管理 CpoyOnWrite未解决
| 37-4-4 物理空间的管理和MmGetVirtualForPhysical逆向
| 38-4-5 共享内存的原型Pte
| 39-4-6 CopyOnWrite问题补充和破除COW
| 40-4-7 隐藏内存原理
|
+—第06章
| 41-5-1 APC的概念及其应用
| 42-5-2 APC相关结构
| 43-5-3 KeInitializeApc的逆向
| 44-5-4 KeInsertQueueApc逆向
| 45-5-4 KeInsertQueueApc逆向
| 46-5-5 逆向不同属性的APC头尾插法
| 47-5-6 APC派遣过程上
| 48-5-7 用户APC和派遣的完美闭环
| 49-5-8 附加的逆向和查询附加的原理
|
+—第07章
| 50-6-1 异常和中断的区别
| 51-6-2 处理器APIC架构和中断的类型
| 52-6-3 异常的分类和#DF触发
| 53-6-4 中断向量号和描述符
| 54-6-5 中断优先权和IRQL
| 55-6-6 IRQL深入解析以及实验验证
| 56-6-7 从IDT函数到KiDispatchException的分析
| 57-6-8 内核模式异常派遣流程
| 58-6-9-1 用户模式的异常派遣流程分析
| 59-6-9-2 用户派遣异常的堆栈提升
| 60-6-10 VEH简介与使用
| 61-6-11 VEH派遣过程逆向
|
\—第08章
62-7-1Windows下调试器和被调试进程是如何工作的
63-7-2 调试器附加和 创建调试对象逆向
64-7-3 NtDebugActiveProcess调试对象挂入被调试进程过程逆向
65-7-4 DbgkpPostFakeProcessCreateMessages 发送假消息的逆向
66-7-5 DbgkpQueueMessage逆向以及等待体系
67-7-6 DbgkpSetProcessDebugObject干了什么
68-7-7 调试器等待R3层逆向
69-7-8 调试器等待R0逆向
70-7-9 调试器事件处理和被调试进程恢复
71-7-10 异常调试的过程以及线程逃逸的原理
72-7-11 调试原理