通用型 VMProtect 虚拟化还原工具,支持 1.x、2.x 和 3.x 版本。独立命令行工具 + Ghidra 插件。
状态: ✅ 生产就绪 | 验证: 22/22 样本 (100%) | 范围: VMP ≤3.6 (3.7+ 需要逆向工程)
cd /home/ciupix/vmp_devirt_prod
cargo build --release
二进制文件:target/release/vmp_devirt
# 分析二进制文件
./target/release/vmp_devirt <binary_path>
# 导出处理程序
./target/release/vmp_devirt <binary_path> --export-handlers handlers.json
# 导出字节码
./target/release/vmp_devirt <binary_path> --export-bytecode bytecode.json
| 版本 |
|---|
已测试样本:
详细结果请参见 VALIDATION_REPORT.md。
输入二进制文件
↓
PE/ELF 加载器 (src/pe_loader.rs)
↓
版本检测器 (src/version.rs)
↓
分发表提取器 (src/dispatch_table.rs)
├─ Unicorn XOR 密钥捕获 (src/unicorn_emulator.rs)
└─ 模式匹配回退
↓
处理程序分类器 (src/handler_classifier.rs)
↓
字节码解码器 (src/bytecode.rs)
├─ 操作数解密 (src/decrypt.rs)
└─ ALU 重构 (src/alu.rs)
↓
输出 (JSON/伪汇编)
总计: 约 2,800 行 Rust 生产代码
基于以下启发式规则:
VMP 1.x/2.x: 通过 .text 节中的模式匹配提取 XOR 密钥
VMP 3.x: 处理程序链分发
模式匹配基于:
FUTURE_WORK.md。VALIDATION_REPORT.md - 全面的测试结果IMPLEMENTATION_COMPLETE.md - 实现状态UNICORN_IMPLEMENTATION_REPORT.md - XOR 密钥捕获细节架构基于 VMP 3.5.1 源码泄漏分析:
仅供研究/教育使用
如有问题或疑问,请参阅验证报告或实现文档。
最后更新: 2026-06-01 状态: 生产就绪
| 样本数 |
|---|
| 成功数 |
|---|
| 平均时间 |
|---|
| VMP 1.x | 4 | 4/4 | 38ms |
| VMP 2.x | 6 | 6/6 | 734ms |
| VMP 3.x | 12 | 12/12 | 39ms |
| 模块 | 用途 | 代码行数 |
|---|
src/lib.rs | 主要库接口 | 150 |
src/version.rs | VMP 版本检测 | 200 |
src/pe_loader.rs | PE/ELF 二进制加载 | 350 |
src/dispatch_table.rs | 分发表提取 | 400 |
src/unicorn_emulator.rs | XOR 密钥捕获 | 308 |
src/handler_classifier.rs | 处理程序类型识别 | 280 |
src/bytecode.rs | 字节码读取/解码 | 320 |
src/decrypt.rs | ValueCryptor 链 | 250 |
src/alu.rs | ALU 操作重构 | 200 |
src/opcode_table.rs | 操作码管理 | 180 |
src/bin/cli.rs | 命令行工具 | 400 |