# VTIL-Core 虚拟机翻译中间语言核心库

> VTIL（Virtual-machine Translation Intermediate Language，虚拟机翻译中间语言）项目的 C++20 核心库。VTIL 是一种中间语言及优化编译器，README 称其专为二进制去混淆与去虚拟化分析而设计。与 LLVM IR 不同，VTIL 保留原生栈、物理寄存器和非 SSA 形式，因此寄存器机或栈机代码都能提升到其中，原生指令可直接嵌入 IL 流，代码也能重新输出到任意虚拟地址。该库提供包含例程、基本块和序列化的 IL、符号表达式引擎与化简器、死代码消除、传播和栈固定等优化遍，以及基于 Capstone/Keystone 的 AMD64 与 ARM64 反汇编和汇编辅助功能。

- 类型：工具
- 目标：二进制
- 类别：二进制分析库
- 关联：基础工具
- 来源复核于：2026-10-19
- 收录于：2026-10-19
- 原始资源：<https://github.com/vtil-project/VTIL-Core>
- 一手来源：<https://github.com/vtil-project/VTIL-Core/blob/9ebee8e890a3a8923cc41f07821f740910e7c9b2/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/vtil-core/>
- 记录 JSON：<https://awesomerea.org/resources/vtil-core/record.json>
- 英文版：[English](https://awesomerea.org/resources/vtil-core/index.md)

## 使用条件与局限

- 没有发布版本或标签；README 说明首个版本尚未完成，因此仓库仍不完整，更多文档也有待补充。所审阅的 master 提交（2026-07-27）只修改了 README，此前的代码提交日期为 2026-04-04 和 2026-04-05。
- 使用 CMake 3.16+ 和 C++20 编译器构建：在 Windows 上生成 Visual Studio 解决方案，在 Linux 和 macOS 上使用 Ninja；Apple Silicon 上构建需加 -DCMAKE_OSX_ARCHITECTURES=x86_64。CMake 会按固定提交获取 Capstone 和 Keystone，CI 在 Windows Server 2022、Ubuntu 24.04 和 macOS 14 上构建。
- 这是用于分析虚拟化或混淆代码的库：用户需提供提升器，把待分析代码转换为 VTIL 例程，然后再进行优化、检查或重新输出。所审阅的代码树中没有针对特定虚拟机或保护器的提升器。其 Sample Routines 目录存放 2020 年的 .vtil 测试例程及对应的小型 C 测试函数，提交信息称之为 VMProtect 测试。
- BSD-3-Clause 许可证。所获取的依赖保留各自的许可证：Capstone 采用 BSD 风格许可证，Keystone 采用附带 FOSS 许可例外的 GPL-2.0，分发构建产物时需注意。

## 一手来源

1. <https://github.com/vtil-project/VTIL-Core/blob/9ebee8e890a3a8923cc41f07821f740910e7c9b2/README.md>
2. <https://github.com/vtil-project/VTIL-Core/blob/9ebee8e890a3a8923cc41f07821f740910e7c9b2/CMakeLists.txt>
3. <https://github.com/vtil-project/VTIL-Core/blob/9ebee8e890a3a8923cc41f07821f740910e7c9b2/Docs/COMPILE.md>
4. <https://github.com/vtil-project/VTIL-Core/blob/9ebee8e890a3a8923cc41f07821f740910e7c9b2/VTIL-Common/CMakeLists.txt>
5. <https://github.com/vtil-project/VTIL-Core/blob/9ebee8e890a3a8923cc41f07821f740910e7c9b2/Dependencies/capstone/CMakeLists.txt>
6. <https://github.com/vtil-project/VTIL-Core/blob/9ebee8e890a3a8923cc41f07821f740910e7c9b2/Dependencies/keystone/CMakeLists.txt>
7. <https://github.com/vtil-project/VTIL-Core/tree/9ebee8e890a3a8923cc41f07821f740910e7c9b2/VTIL-Compiler/optimizer>
8. <https://github.com/vtil-project/VTIL-Core/tree/9ebee8e890a3a8923cc41f07821f740910e7c9b2/Sample%20Routines>
9. <https://github.com/vtil-project/VTIL-Core/blob/9ebee8e890a3a8923cc41f07821f740910e7c9b2/.github/workflows/build.yml>
10. <https://github.com/vtil-project/VTIL-Core/blob/9ebee8e890a3a8923cc41f07821f740910e7c9b2/LICENSE.md>
11. <https://github.com/keystone-engine/keystone/blob/dc7932ef2b2c4a793836caec6ecab485005139d6/EXCEPTIONS-CLIENT>

## 同分区更多条目：原生二进制

- [Frida Workbench VS Code 扩展](https://awesomerea.org/zh/resources/vscode-frida/index.md) · 工具
- [ghidriff Ghidra 二进制差异分析引擎](https://awesomerea.org/zh/resources/ghidriff/index.md) · 工具
- [Ddisasm Datalog 可重汇编反汇编器](https://awesomerea.org/zh/resources/ddisasm/index.md) · 工具
- [PINCE GDB 前端与内存分析工具](https://awesomerea.org/zh/resources/pince/index.md) · 工具
- [uncompyle6 跨版本 Python 字节码反编译器](https://awesomerea.org/zh/resources/uncompyle6/index.md) · 工具
- [ret-sync 调试器与反汇编器同步插件](https://awesomerea.org/zh/resources/ret-sync/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
