Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
vmprotect-research — 通用的VMProtect反虚拟化工具,支持1.x–3.x版本。独立的CLI工具和Ghidra插件,用于自动字节码解码、处理程序分类以及从受保护二进制文件中重建x86-64指令。 | Kitploit
工具/GitHubGitHub/rasetsuu/vmprotect-research
静态分析动态分析 (沙盒)逆向工程调试器二进制分析论文与研究学习与教育固件分析二进制利用
GitHubrasetsuu/vmprotect-research

vmprotect-research

通用的VMProtect反虚拟化工具,支持1.x–3.x版本。独立的CLI工具和Ghidra插件,用于自动字节码解码、处理程序分类以及从受保护二进制文件中重建x86-64指令。

4892个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

VMP Devirtualizer - 生产版本发布

通用型 VMProtect 虚拟化还原工具,支持 1.x、2.x 和 3.x 版本。独立命令行工具 + Ghidra 插件。

状态: ✅ 生产就绪 | 验证: 22/22 样本 (100%) | 范围: VMP ≤3.6 (3.7+ 需要逆向工程)


特性

  • 多版本支持: VMP 1.x、2.x、3.x (1.1 → 3.10.5)
  • 版本检测: 基于启发式规则的自动识别
  • 分发表提取: 通过 Unicorn 捕获 XOR 密钥以解密加密表
  • 处理程序分类: 覆盖所有版本的 256 种处理程序类型
  • 字节码解码: VM 操作 → x86-64 指令重构
  • 平台支持: Windows PE + Linux ELF 二进制文件
  • 反编译器集成: VM 字节码 → 伪代码
  • Ghidra 插件: 交互式处理程序分析 + 注释

快速开始

构建

root@kitploit:~
cd /home/ciupix/vmp_devirt_prod
cargo build --release

二进制文件:target/release/vmp_devirt

使用

root@kitploit:~
# 分析二进制文件
./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

验证结果

摘要

  • 样本总数: 22
  • 成功率: 22/22 (100%)
  • 平均处理时间: 229ms
  • 总耗时: 5.0 秒

按版本划分

版本

已测试样本:

  • VMP 1.x: HiVmp.vmp.1.1.exe、HiVmp.vmp.1.4.exe、HiVmp.vmp.1.54.exe、HiVmp.vmp.1.70.4.exe
  • VMP 2.x: Branch0.vmp.exe、HiVmp.exe、mfc_algo_demo.vmp.exe、Project1.vmp.exe、Project2.vmp.exe、Project4.vmp.exe
  • VMP 3.x: add_control_flow.vmp.exe、adder.vmp.exe、bitwise.vmp.exe、control_flow_test.vmp.exe、cpuid_test.vmp.exe、fac_fib.vmp.exe、globals.vmp.exe、hello_world.vmp.exe、multiadder.vmp.exe、nested_virt_funccall.vmp.exe、ptr_drf.vmp.exe、switch.vmp.exe

详细结果请参见 VALIDATION_REPORT.md。


架构

root@kitploit:~
输入二进制文件
    ↓
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 生产代码


实现细节

版本检测

基于以下启发式规则:

  • 处理程序入口模式(POP/PUSH 操作码)
  • 分发机制(跳转表 vs 加密链 vs 处理程序链)
  • PE 节布局(.vmp0、.vmp1、.text)
  • 入口桩模式(PUSH 加密 + CALL/JMP)

分发表提取

VMP 1.x/2.x: 通过 .text 节中的模式匹配提取 XOR 密钥

  • 扫描 XOR 指令模式
  • 从操作码序列推导密钥
  • 基于镜像基址范围进行验证

VMP 3.x: 处理程序链分发

  • 定位分发点(DP0-DP5)
  • 追踪处理程序链
  • 提取 256 个分发条目

处理程序分类

模式匹配基于:

  • 入口模式(49 8b 2a = VMP 3.x 的 POP)
  • 核心操作(SUB、ADD、XOR 等)
  • 操作数类型(slot、偏移量、立即数)
  • 分发机制(push/ret、直接 jmp)

字节码解码

  1. 从字节码节读取操作码
  2. 查找处理程序语义
  3. 提取操作数(slot、偏移量)
  4. 通过 ValueCryptor 链解密操作数
  5. 重构 x86-64 指令
  6. 处理 VM 上下文(寄存器文件、标志、栈)

已知限制

  1. VMP 3.7+(合并处理程序) - 不支持。VMP 3.7+ 引入了合并处理程序(一个处理程序条目对应多个操作),这会破坏当前的分类器。需要使用实际的 3.7+ 样本进行逆向工程。详情请参见 FUTURE_WORK.md。
  2. XOR 密钥验证警告 - VMP 1.x/2.x 的预期行为(非严重)
  3. VMP 3.x 分发检测 - 针对更新的混淆使用了回退策略
  4. Linux 样本 - 当前测试集未包含(已实现 ELF 支持)

性能

  • 吞吐量: 约 4.4 样本/秒
  • 内存: 每个样本 <50MB
  • 延迟: 5ms-3.25s,取决于二进制大小

文档

  • VALIDATION_REPORT.md - 全面的测试结果
  • IMPLEMENTATION_COMPLETE.md - 实现状态
  • UNICORN_IMPLEMENTATION_REPORT.md - XOR 密钥捕获细节

源代码参考

架构基于 VMP 3.5.1 源码泄漏分析:

  • 处理程序结构和分发机制
  • ValueCryptor 链实现
  • ALU 操作模式
  • VM 上下文管理

许可

仅供研究/教育使用


联系方式

如有问题或疑问,请参阅验证报告或实现文档。

最后更新: 2026-06-01 状态: 生产就绪

下载工具
样本数
成功数
平均时间
VMP 1.x44/438ms
VMP 2.x66/6734ms
VMP 3.x1212/1239ms
模块用途代码行数
src/lib.rs主要库接口150
src/version.rsVMP 版本检测200
src/pe_loader.rsPE/ELF 二进制加载350
src/dispatch_table.rs分发表提取400
src/unicorn_emulator.rsXOR 密钥捕获308
src/handler_classifier.rs处理程序类型识别280
src/bytecode.rs字节码读取/解码320
src/decrypt.rsValueCryptor 链250
src/alu.rsALU 操作重构200
src/opcode_table.rs操作码管理180
src/bin/cli.rs命令行工具400