提升篇开始进入 PE 文件结构和 Windows 程序加载机制。入门篇更多是在补“怎么看汇编、怎么看寄存器、怎么看栈”;提升篇则要继续往文件格式、加载器、导入导出、异常、符号、TLS 和项目工具方向走。

这部分按小块整理,不把所有视频标题平铺在一页里。每篇笔记围绕一个能复盘的主题展开:先讲概念,再讲结构,再讲调试或代码验证。

1、学习定位

线索 目标
PE 结构 能看懂 DOS 头、NT 头、可选头、节表、数据目录和文件/内存映像差异
加载机制 能理解程序从文件到进程内存的大致过程,包括导入、重定位、节区保护和入口点
数据目录 能逐步复盘导出表、导入表、资源表、异常表、证书、调试信息和 TLS
工具能力 能写小型解析工具,用结构体和偏移验证 PE 字段
项目实践 能把解析能力迁移到 PE 修改器、调试器、扫描器等工具项目

逆向笔记只用于合法样本分析、课程复盘和防护理解。涉及模块加载、内存修改、ShellCode、注入等内容时,只整理原理、结构和安全边界,不整理未授权攻击流程。

2、章节目录

编号 内容范围 主要内容 笔记
0216 01 PE 前置与头结构 提升篇路线、PE 工具、文件状态与内存状态、DOS 头、NT 头、文件头、节表入口 0216
0217 02 PE 解析框架与节区 控制台解析框架、用户指令、二进制写入、DOS/NT 定位、节区定位、OptionalHeader、节区对齐与 RVA/FOA 0217
0218 03 导出表、导入表与重定位 DLL 导出、导出三表、GetProcAddress、IAT/INT、导入修复、重定位块和重定位项遍历 0218
0219 04 无模块加载与模块隐藏原理 文件缓存与内存映像转换、导入与重定位修复、模块自加载、反射式加载原理和风险边界 0219
0220 05 资源、图标、异常与证书 资源目录、图标资源提取、SEH/UNWIND、Runtime Function、安全证书和数据目录差异 0220
0221 06 PDB、TLS 与加载风险评估 PDB/DIA SDK、符号解析、TLS 静态与动态机制、加载风险记录和检测报告 0221
0222 07 PE 修改器与 CE 扫描器项目 新增节、扩大节区、移动导入导出表、入口点修改、内存扫描、二次扫描和结果修改 0222

3、整理重点

方向 复盘重点
地址体系 VARVAFOAImageBaseSectionAlignmentFileAlignment
头部结构 IMAGE_DOS_HEADERIMAGE_NT_HEADERSIMAGE_FILE_HEADERIMAGE_OPTIONAL_HEADER
节区结构 节名、虚拟大小、虚拟地址、文件偏移、文件大小、节属性
数据目录 导入、导出、资源、异常、证书、重定位、调试、TLS
调试观察 文件中看到的偏移,加载到内存后看到的地址,以及工具展示之间的对应关系
代码验证 所有字段解析都尽量用边界检查,避免把损坏文件当成正常 PE

4、后续写法

每一篇小结尽量按这个顺序整理:

  1. 这一块解决什么问题。
  2. 涉及哪些结构体和关键字段。
  3. 文件偏移、内存地址和工具展示怎么对应。
  4. 最小代码或伪代码如何验证。
  5. 有哪些常见误区和安全边界。

这一篇后续会是 Windows 逆向里最容易反复回看的部分。PE 结构一旦理顺,后面看导入导出、重定位、资源、异常和 TLS,就不会像在雾里摸字段。