这一部分是提升篇项目实践:PE 修改器和类似 CE 的内存扫描器。这里按授权实验、工具设计和防护复盘整理,只记录结构、边界和检测视角,不写未授权修改第三方程序的流程。

1、内容范围

小节 内容 复盘点
21.5 - 24.2 PE Modifier 删除 DOS Stub、新增节、扩大节区、移动导入/导出表、入口点修改、ShellCode 框架边界
24.3 - 26.4 CE 扫描器项目 进程列表、附加进程、模块/内存区间、首次扫描、二次扫描、结果修改
26.5 - 26.7 路线规划 Windows 平台开发、逆向体系、攻防篇前置

2、PE 修改器项目

PE 修改器的核心是“修改字段前先理解字段之间的联动”。不能只改一个值,还要同步相关大小、偏移、对齐和目录项。

操作 联动字段
新增节 节数量、节表、SizeOfImage、对齐
扩大节区 VirtualSize、SizeOfRawData、文件大小
移动导出表 DataDirectory、RVA、相关字符串和表
移动导入表 IAT/INT、名称表、描述符
修改入口点 AddressOfEntryPoint 和原入口回跳关系

3、修改风险

风险 说明
对齐错误 文件能打开但加载失败
目录项没同步 工具能看字段但运行异常
签名失效 文件改动会破坏证书签名
入口错误 程序启动崩溃
节属性异常 防护工具可能告警

4、CE 扫描器项目

扫描器项目的目标是理解进程内存枚举、区间过滤、类型匹配和二次筛选。

模块 作用
进程列表 枚举授权目标
模块列表 确定模块基址和范围
内存区间 过滤可读写区域
首次扫描 找到候选地址
二次扫描 根据新值缩小结果
结果展示 分页、跳转、临时缓存

5、扫描类型

类型 复盘点
整数 字节宽度、大小端、有无符号
浮点 精度误差
字节数组 通配符和连续性
字符串 编码和终止符

6、安全边界

这类项目容易被误用,博客只保留:

  1. 自写程序或授权实验目标。
  2. 进程/模块/内存区间的枚举和日志。
  3. 类型匹配和二次筛选的原理。
  4. PE 字段修改的联动关系和风险。
  5. 防护检测可以观察哪些异常。

不记录绕过保护、未授权修改、隐蔽执行等可操作流程。

7、防护复盘

行为 检测视角
打开进程 句柄权限和目标关系
读写内存 访问范围、频率和权限
修改 PE 签名、节表、入口点和目录项变化
搜索内存 大范围读取行为
结果修改 写入地址和模块归属

8、学习检查清单

检查项 状态
能说明新增节需要同步哪些字段 待复盘
能解释入口点修改为什么风险高 待复盘
能设计内存扫描器的模块划分 待复盘
能说明首次扫描和二次扫描的区别 待复盘
能把项目限定在授权实验和防护复盘范围内 待复盘