VTILVTIL
Open Source · BSD-3-Clause License

VTIL
De-virtualize anything.

Virtual-machine Translation Intermediate Language - an optimizing compiler toolset for binary de-obfuscation, de-virtualization, and static analysis across any native architecture.

example.cpp
// Load a serialized VTIL routine from disk
std::unique_ptr<vtil::routine> rtn(vtil::load_routine("routine.vtil"));

// Emit native assembly bytes into the VTIL stream
rtn->entry_point->vemits("mov rax, rbx");

// Run the profiled optimization pipeline
vtil::optimizer::apply_all_profiled(rtn.get());

// Print the optimized IR for inspection
vtil::debug::dump(rtn.get());
1.5k+
GitHub Stars
14
Repositories
x86 / ARM
Architectures
BSD-3
License

Why VTIL

Built for serious binary analysis

VTIL provides the primitives needed to build powerful de-obfuscation and de-virtualization pipelines with a clean, ergonomic C++ API.

Architecture-Agnostic IL

Lift from any native architecture - x86, x64, ARM, and beyond - including stack machines. VTIL's flexible operand model makes lifting straightforward.

Optimizing Compiler

Full optimization pipeline including dead code elimination, constant folding, expression simplification, and symbolic evaluation passes.

Preserves Native Concepts

Unlike LLVM, VTIL keeps native ISA concepts intact - physical registers, the native stack, and non-SSA CPU architecture - ideal for reverse engineering.

De-virtualization Engine

Purpose-built for defeating commercial VM-based obfuscators. Symbolically trace and reconstruct de-virtualized, human-readable code.

Full CFG Support

First-class control flow graph representation. Visualize, navigate, and transform routine-level and block-level CFGs with ease.

Multi-Language Bindings

First-class C++ API with Python bindings, a Rust parser, and a Binary Ninja plugin for seamless integration into your existing workflow.

Open Source

Start building with VTIL

Whether you're reversing a commercial VM protector, building a binary analysis framework, or researching obfuscation techniques - VTIL gives you the primitives to do it right.

Free & Open SourceBSD-3-Clause LicensedCommunity Driven