回到在做的事

二进制保护

以 UPX 和 VMProtect 为研究对象,比较可执行文件压缩、代码变换与虚拟化,作为自研二进制保护工具的基础。

Comparing executable packing, program transformation and virtualization as groundwork for a custom protection tool.

从工具理解机制

UPX 用来研究可执行文件压缩、文件布局与加载过程;VMProtect 用来对照代码变形、虚拟化及其组合。比较时分别看压缩效果、代码分析成本和运行开销,明确每种机制实际改变了什么。

实验使用同一组自有 C/C++ 小程序,固定编译器、编译选项与工具版本,检查处理前后的行为,再比较产物体积、启动时间、运行性能与可观察的程序结构。

自研保护工具

自研工具从范围明确的程序变换或小型字节码解释器入手。先保持原程序的语义,再研究变换提高了哪一种分析工作的成本,以及哪些信息仍然可见。

代码、数据和资源的保护分别定义目标,使用同一套样本与记录方式比较不同方法。

材料与来源

  1. 二进制保护 · 研究索引与路线图
  2. UPX · 官方介绍与源码入口
  3. VMProtect · 官方手册

修订记录

  1. 将已有二进制保护研究路线整理为主页项目介绍。