攻防篇是 Windows 逆向里最容易“看起来很酷、实际很危险”的一部分。这里的整理原则很明确:只做合法授权环境下的原理学习、行为识别、调试复盘和防护理解,不把笔记写成未授权利用流程。

这部分内容可以当成“理解攻击技术如何留下痕迹”的路线。知道它们大致怎么发生,才能知道日志、内存、模块、线程、句柄、异常、Hook 和反调试检测应该看哪里。

1、学习定位

线索 目标
注入与加载 理解跨进程代码执行、模块加载和 PE 修复相关概念
ShellCode 理解位置无关代码、API 解析、字符串处理和二进制提取的风险点
进程伪装 理解进程映像、节对象、PEB、文件对象和检测视角
Hook 理解 IAT、Inline、VTable、VEH、硬件断点等 Hook 的原理和检测点
监控与检测 通过 ETW、WMI、调试事件和进程/线程信息观察行为
反调试 理解调试标志、断点、异常、对象查询等检测方向

本篇不记录可直接用于未授权入侵、持久化、绕过检测或隐蔽执行的操作步骤。后续所有小结都以授权实验、检测分析和防护复盘为边界。

2、章节目录

这里按视频目录实际拆开。每个编号对应一个相对独立的小结页面,方便后续按学习进度继续补实验记录、截图和个人复盘。

编号 视频范围 内容范围 主要内容 笔记
0223 01.0 - 01.9 前置、注入概念与控制台框架 攻防篇前置要求、应用层注入概念、PE 加载关系、控制台交互框架和输入校验 0223
0224 02.0 - 02.3 远程线程注入 远程线程注入思路、通用代码框架、执行过程、跨进程调试和行为观察点 0224
0225 02.4 - 02.9 劫持线程与 APC 线程上下文、执行流切换、APC 调用触发机制、用户层 APC 队列和线程类注入汇总 0225
0226 03.0 - 03.4 早鸟注入与全局注册 挂起进程、早鸟执行、AppInit_DLLs、注册表配置、键值验证和检测思路 0226
0227 03.5 - 03.9 全局 Hook 与内存映射 Windows Hook、跨进程消息回调、窗口线程、共享内存映射和对应行为痕迹 0227
0228 04.0 - 04.4 内存映射与 ShellCode 承载 ShellCode 构建、压缩、修正、通用执行思路、无申请附加执行方案的原理边界 0228
0229 04.5 - 05.1 系统调用与权限边界 API 调用路线、系统调用过滤、ntdll 跳板、APC 唤醒、会话隔离、访问令牌和高阶远程线程 0229
0230 05.2 - 05.9 x64 ShellCode 基础 x64 ShellCode、模块定位、PE 解析、字符串匹配、远程执行测试、通用框架和哈希匹配 0230
0231 06.0 - 07.2 ShellCode 提取与执行框架 编译器布局、语法平坦化、生成提取、硬编码转储、本地/远程执行环境和项目完结复盘 0231
0232 07.3 - 08.5 进程伪装与隐藏 Process Hollowing、NT 函数、文件对象、节对象、PEB 信息、数据保护、代码结构优化和检测视角 0232
0233 08.6 - 09.1 反射式 DLL 加载 ReflectiveDLL、导出函数执行、模块头回溯、哈希匹配、映像拉伸、导入表和重定位修复 0233
0234 09.2 - 10.0 特征码搜索 硬编码格式、可变量、通配符、Pattern 封装、文件结构扫描、匹配结果写回和效率测试 0234
0235 10.1 - 10.5 Hook 基础与 IAT Hook Hook 分类、IAT Hook 与 PE 关联、API 拦截测试、安装卸载、检测手法和双向监听 0235
0236 10.6 - 11.4 Inline Hook 框架 Inline Hook 底层逻辑、参数拦截、模板化框架、指令完整性、边界对齐、中转函数和卸载处理 0236
0237 11.5 - 12.4 x64 Hook 与指令解析 x64 跳转方案、环境保护、Stub 保存、寄存器参数、MinHook、自旋锁、HDE 反汇编和 SIB 寻址 0237
0238 12.5 - 13.1 反汇编引擎 Capstone、用户输入结构、数据转换与安全检查、格式输出、硬编码反汇编、双版本兼容和 XEDParse 0238
0239 13.2 - 13.5 VTable、VEH 与断点类 Hook VTable Hook、VEH 异常注册、硬件断点、瞬时执行类 Hook 的原理和检测边界 0239
0240 13.6 - 14.3 ETW 事件跟踪 Event Tracing for Windows、日志管理、主线程交互、事件初始化、资源释放、进程事件监听和 opcode 过滤 0240
0241 14.4 - 14.7 WMI 事件监控 WMI、COM 查询、QueryInterfaceCoCreateInstance、连接命名空间和进程创建事件监听 0241
0242 14.8 - 15.3 反调试机制总览 调试器开发、调试器附加、调试对象、被调试进程关联、调试消息派遣和应用层检测方向 0242
0243 15.4 - 15.9 调试标志位反调试 BeingDebugged、DebugPort、NtGlobalFlag、Heap Flag 等调试标志相关检测与防护复盘 0243
0244 16.0 - 16.3 断点类反调试 硬件断点、软件断点、内存断点、动态监测和断点异常行为观察 0244
0245 16.4 - 16.9 异常与对象查询反调试 异常过滤、Interrupt、Trap Flag、Guard Page、调试对象查询和防护侧验证 0245

3、复盘重点

方向 复盘重点
行为链路 一个行为从用户输入、进程选择、内存变化到执行触发,大致经过哪些阶段
系统痕迹 进程、线程、模块、句柄、内存页属性、异常和日志会留下哪些可观察点
PE 关系 注入、反射加载、ShellCode 和 Hook 都会反复用到 PE 结构和地址换算
防护视角 不只看“能不能实现”,更要看“怎么发现、怎么限制、怎么复盘”
安全边界 所有实验都限定在自写程序、课程样本和授权环境内

4、整理方式

每一篇小结按下面顺序写:

  1. 这一块解决什么问题。
  2. 正常系统机制是什么。
  3. 攻防技术利用了哪一个机制边界。
  4. 调试或日志中可以观察什么。
  5. 防护和复盘时应该检查什么。

攻防篇后面的内容会很长,但核心不是追求“招式数量”,而是把 Windows 用户态程序执行、加载、调试、监控和异常处理这些底层机制串起来。