Tool
Anvill
Trail of Bits machine-code lifter built on Remill that aims to produce high-quality LLVM bitcode, close to what Clang would emit for a semantically equivalent C function, for Rellic to decompile further into C. Its anvill-decompile-spec tool lifts the functions and global variables described in a Protobuf specification of a binary's low-level ABI information into LLVM IR or bitcode, and LLVM passes lower Remill intrinsics and recover stack frames, jump tables and switches. The README says the main branch reads specifications from an in-development, closed-source Ghidra plugin, while open-source Binary Ninja spec generation remains at the binja-final-version tag.
- Targets
- Binary
- Category
- Binary analysis libraries
- Relationship
- Foundation tool
- Sources reviewed
- Stars
- 388
- Last commit
- 2023-07-05
- Language
- LLVM
- License (GitHub)
- AGPL-3.0
GitHub data as of 2026-11-09
Requirements & limits
- The latest GitHub release is v0.1.39 (2021-02-22); later tags reach v0.2.1. The pinned master commit is six commits ahead of that tag, with its last code change dated 2022-12-06.
- Linux was tested on Ubuntu 20.04. CMakeLists.txt requires CMake 3.19; the README also lists Clang 12+, Remill, Python 3.9 and Ghidra. CI builds with LLVM 14 and 15 on Ubuntu 20.04 and macOS 11.
- anvill-decompile-spec requires a Protobuf specification of functions, globals and memory ranges. The README directs open-source users to the binja-final-version tag; CI installs a Ghidra spec generator from a private repository. Supported calling conventions include x86, x86-64, AArch32, AArch64 and SPARC.
- CI uses encrypted Binary Ninja archives and passphrase-protected AMP challenge binaries for integration tests.
- License: AGPL-3.0. Enable unit tests with -DANVILL_ENABLE_TESTS=true.
Cite
BibTeX
@misc{anvill,
title = {{Anvill}},
howpublished = {\url{https://github.com/lifting-bits/anvill}},
url = {https://github.com/lifting-bits/anvill},
urldate = {2026-10-27},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/anvill/}}
}Plain text
Anvill. https://github.com/lifting-bits/anvill (accessed 2026-10-27). Awesome REA entry: https://awesomerea.org/resources/anvill/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · lifting-bits/anvill · Revision 9948d26
- bin/Decompile/Main.cpp GitHub · lifting-bits/anvill · Revision 9948d26
- data_specifications/specification.proto GitHub · lifting-bits/anvill · Revision 9948d26
- docs/SpecificationFormat.md GitHub · lifting-bits/anvill · Revision 9948d26
- lib/Passes GitHub · lifting-bits/anvill · Revision 9948d26
- lib/Arch GitHub · lifting-bits/anvill · Revision 9948d26
- python/anvill GitHub · lifting-bits/anvill · Revision 9948d26
- CMakeLists.txt GitHub · lifting-bits/anvill · Revision 9948d26
- Dockerfile GitHub · lifting-bits/anvill · Revision 9948d26
- .github/workflows/build.yml GitHub · lifting-bits/anvill · Revision 9948d26
- ci/install_binja.sh GitHub · lifting-bits/anvill · Revision 9948d26
- LICENSE GitHub · lifting-bits/anvill · Revision 9948d26
- https://github.com/lifting-bits/anvill/releases/tag/v0.1.39
- https://github.com/lifting-bits/anvill/tree/8662cdcca6e63ea10322928a89a0168a6a4270e9
- README.md GitHub · lifting-bits/rellic · Revision 370abaa
More in Native binaries
- XRefer · Tool
- dsdump (paradiseduo wrapper) · Tool
- Dr. Memory · Tool
- Intel XED · Tool
- Keystone · Tool
- Microsoft Detours · Tool