This repository contains a number of samples to get you started with VTIL's API.
Open the project as folder in Visual Studio 2019 and let it generate the CMake files. Once the generation has ended, you can launch the examples.
First install LLVM 10 and Ninja:
brew install llvm@10 ninja
Then set your compiler environment to use libc++ and brew's llvm:
export CC="/usr/local/opt/llvm/bin/clang"
export CXX="/usr/local/opt/llvm/bin/clang++"
export LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib"
Then clone the repo and build:
git clone https://github.com/vtil-project/VTIL-Samples
cd VTIL-Samples
mkdir build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
This example demonstrates VTIL's versatile logging capabilities.
A very basic example of VTIL's basic_block
functionality. Based on https://0xnobody.github.io/devirtualization-intro/
A short introduction into assembly simplification using VTIL's optimizer passes.
A lifter for brainfuck and an example VM to execute the lifted brainfuck.