这一节对应 08.6 - 09.1。反射式加载的核心不是“神秘技巧”,而是在正常加载器之外,部分模拟 PE 映射、导入修复、重定位修复和入口执行过程。复盘时必须回到 PE 结构本身。

1、内容范围

小节 主题
08.6 ReflectiveDLL
08.7 注入主框架与导出函数执行
08.8 定位执行地址并回溯模块头
08.9 哈希计算、匹配和导出表数据对接
09.0 映像动态拉伸、拷贝和导入表修复
09.1 重定位修正和入口点执行

1.1、逐节复盘

小节 主要内容 复盘点
08.6 理解 ReflectiveDLL 的核心:模块自己完成加载准备 只记录 PE 加载关系、修复对象和检测痕迹
08.7 观察注入主框架和导出函数执行的职责划分 关注入口、导出函数、参数和日志
08.8 从当前执行地址回溯模块头部 复盘内存中 PE 头、节表和地址范围是否可信
08.9 使用哈希匹配导出函数并对接导出表数据 记录哈希规则、名称表、序号表和函数地址表关系
09.0 理解映像从文件状态到内存状态的拉伸和导入修复 重点看节区拷贝、导入表、依赖模块和函数地址
09.1 复盘重定位修正和入口点执行前置条件 记录基址差值、重定位块、入口点和异常结果

2、PE 关系

PE 部分 复盘重点
DOS/NT 头 从内存位置回溯模块头部,确认 PE 结构有效
节表 文件状态和内存状态的映射关系
导出表 通过导出函数定位入口或辅助函数
导入表 手动加载时需要解析依赖模块和函数地址
重定位表 映像不在首选基址时需要理解地址修正

3、防护观察点

观察点 说明
未登记模块 内存中存在 PE 映像,但不在正常模块列表中
私有映像 映像区域不是常规文件映射
手动导入 运行时频繁解析导入和导出表
重定位行为 对内存中的地址批量修正
入口执行 线程入口或调用目标落在未登记映像中

4、复盘模板

项目 内容
映像来源 文件、内存缓冲区或实验样本
PE 结构 DOS、NT、节表、导入、重定位是否完整
加载状态 是否登记模块、是否有文件路径、权限属性如何
观察结果 模块列表、内存映像、调用栈和异常记录
防护结论 哪些规则或日志可以发现异常加载

5、学习检查清单

检查项 状态
能说明反射式加载与正常加载器之间的关系 待复盘
能解释导入表和重定位表为什么是关键 待复盘
能列出未登记内存映像的检测线索 待复盘
能把反射式加载复盘限定在 PE 机制和防护观察上 待复盘

本节不记录反射式加载的可执行实现,只保留 PE 结构、加载痕迹和检测思路。