Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
vmp-devirt — 基于Trace辅助的VMProtect去虚拟化研究平台:各版本前端将处理程序提供给共享的Remill/LLVM后端,以提升处理程序、恢复数据流并生成原生对象。 | Kitploit
工具/GitHubGitHub/rasetsuu/vmp-devirt
静态分析动态分析 (沙盒)代码分析逆向工程调试器恶意软件分析实用工具与框架二进制分析论文与研究AI 辅助逆向二进制利用
111天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
GitHub
rasetsuu/vmp-devirt

vmp-devirt

基于Trace辅助的VMProtect去虚拟化研究平台:各版本前端将处理程序提供给共享的Remill/LLVM后端,以提升处理程序、恢复数据流并生成原生对象。

查看仓库
分享

vmp-devirt

跟踪辅助的 VMProtect 去虚拟化研究:版本前端 (1.x 门 / 2.x 表 / 3.x FDJ)馈入一个共享后端 (Remill 提升 → LLVM 优化 → 语义卡片 → 数据流 → 原生对象)。

已针对自建的 VMP 3.9.4 二进制文件在多种 保护模式下验证。VMP 3.8.x/3.10.x 兼容性为实验性且 依赖于样本。

范围与限制(请先阅读)

这是一个用于分析你拥有或获授权进行逆向工程的 VMProtect 保护二进制文件的研究平台——而非通用的、 一键式去虚拟化工具:

  • VMP 3.7+ 需要执行:获取流、密钥和处理程序目标 来自插桩的 Unicorn 快照,而非静态分析。
  • 覆盖率受跟踪约束:仅恢复已执行的路径。 多状态运行 + 分支合并可扩展它;复杂目标的 全程序 CFG 恢复仍需手动完成。
  • 反仿真(时序门、I/O 陷阱、环境检查)需要 针对每个目标的桩——测试框架提供机制,你提供 值。
  • VMP 1.x/2.x 前端是启发式扫描器;其旧的静态 遍历器保留作为交叉校验预言机,而非主要路径。

布局

src/
  lib.rs               crate 根,data_dir()
  pe_loader.rs         PE 解析 / VA 读取
  opcode_map.rs        规范 3.5.1 操作码 -> 处理程序映射
  frontend/
    mod.rs             VmFrontend trait (detect/fetch_stream/handler_addrs)
    fetch_finder.rs    movzx-byte FDJ 扫描 + watchset/snapshot 辅助
    cryptor_miner.rs   逐站点 ValueCryptor 挖掘(分支跟随)
    site_emulator.rs   样本特定预言机解码器(遗留)
    handler_classifier.rs  通过遗留模式进行处理程序分类
    classifier_legacy.rs   首字节模式(弱;仅作回退)
    v1_gate.rs         VMP 1.x 门扫描前端
    v2_walker.rs       VMP 2.x 分发表前端
    v3_fdj.rs          VMP 3.x FDJ 前端
  backend/
    value_cryptor.rs   ADD/SUB/XOR/ROL/ROR/NOT/NEG/... 链
    lifter.rs          iced-x86 文本提升 + Remill 子进程后端
    llvm_pipeline.rs   对 Remill IR 运行 opt -O3(真实 pass)
  harness/
    snapshot.rs        Unicorn 快照:节区+暂存映射、
                       IN 钩子、导入桩、监视命中、memlog、
                       零滑动快进
tests/
  smoke.rs             合成 PE64 + 手工构建的获取链(无夹具)
tools/                 (分析驱动程序;每个都记录其输入)
scripts/               Triton/angr/Ghidra 辅助脚本(外部依赖)

构建

# Debian/Ubuntu (LLVM 22 for optional llvm feature)
sudo apt install llvm-22-dev libclang-22-dev clang-22
cargo build --release          # pure Rust (no LLVM link)
cargo build --release --features llvm   # llvm-sys link check
pip install triton-library capstone pefile   # python helpers
# Remill (optional lifter backend): build upstream, export REMILL_LIFT=<path>/remill-lift
# Souper (optional MBA superoptimizer): external only, wire its `souper` CLI
#   to scripts/triton_handlers.py output if desired; not vendored.

Dockerfile 复现完整环境。CI 运行 cargo build/test --release (默认特性,无 LLVM 链接,无商业夹具;样本门控 测试跳过,tests/smoke.rs 始终运行)。可选的 --features llvm 链接检查作为非阻塞 CI 作业运行(需要 LLVM 22)。

环境

变量默认值含义
DATA_DIR./data所有工具产物
WATCH_FILE$DATA_DIR/watch.txt要监视的获取 VA
CARDSopen_cards3.jsonRemill 卡片缓存文件
BIN_PATH目标二进制路径(工具默认:./target.exe 占位符)目标二进制
IAT_JSON—{api_name: iat_va} 导入桩映射
VMP_TEST_BIN / VMP_ORACLEtests/fixtures/…授权样本测试
REMILL_LIFTPATH 上的 remill-lift-22Remill 提升二进制
DEVIRT / FORCE_EDGE / REPO_ROOT./target/… / .脚本调用的二进制 + 仓库根
VMP_WORK_DIR系统临时目录提升暂存
EFLAGS / IN_RET / DLL_MAIN—快照状态变体

方法(3.x,已验证的路径)

  1. 从入口在 Unicorn 中快照二进制(节区 + 暂存, 零页 ret,导入桩,IN 钩子)。
  2. 检测获取站点(已执行的 movzx byte [reg] 优于静态模式—— 在加固目标上仅静态命中测得 0% 执行率)。
  3. 从代码中挖掘逐站点加密器(分支跟随工作列表)。
  4. 用架构密钥寄存器解码 raw^key(自由扫描 会过拟合——约束到挖掘出的密钥)。
  5. 通过 Remill 提升到达的处理程序,opt -O3,生成卡片/数据流, 用 llc 重新编译(ld -r 证明可组合性)。

许可证

MIT(见 LICENSE)附依赖说明(特别是 Unicorn GPL-2.0)。 仅限研究/教育用途,用于你拥有或可分析的二进制文件。

下载工具