0203、Windows 零基础逆向教程(三):攻防篇
返回:Windows 逆向总目录 · 网络安全学习主页
攻防篇是 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 查询、QueryInterface、CoCreateInstance、连接命名空间和进程创建事件监听 |
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、整理方式
每一篇小结按下面顺序写:
- 这一块解决什么问题。
- 正常系统机制是什么。
- 攻防技术利用了哪一个机制边界。
- 调试或日志中可以观察什么。
- 防护和复盘时应该检查什么。
攻防篇后面的内容会很长,但核心不是追求“招式数量”,而是把 Windows 用户态程序执行、加载、调试、监控和异常处理这些底层机制串起来。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ruiqy~!






