Star on GitHubStar2.4k stars

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

Copy as MarkdownView JSONCite

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.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · lifting-bits/anvill · Revision 9948d26
  2. bin/Decompile/Main.cpp GitHub · lifting-bits/anvill · Revision 9948d26
  3. data_specifications/specification.proto GitHub · lifting-bits/anvill · Revision 9948d26
  4. docs/SpecificationFormat.md GitHub · lifting-bits/anvill · Revision 9948d26
  5. lib/Passes GitHub · lifting-bits/anvill · Revision 9948d26
  6. lib/Arch GitHub · lifting-bits/anvill · Revision 9948d26
  7. python/anvill GitHub · lifting-bits/anvill · Revision 9948d26
  8. CMakeLists.txt GitHub · lifting-bits/anvill · Revision 9948d26
  9. Dockerfile GitHub · lifting-bits/anvill · Revision 9948d26
  10. .github/workflows/build.yml GitHub · lifting-bits/anvill · Revision 9948d26
  11. ci/install_binja.sh GitHub · lifting-bits/anvill · Revision 9948d26
  12. LICENSE GitHub · lifting-bits/anvill · Revision 9948d26
  13. https://github.com/lifting-bits/anvill/releases/tag/v0.1.39
  14. https://github.com/lifting-bits/anvill/tree/8662cdcca6e63ea10322928a89a0168a6a4270e9
  15. README.md GitHub · lifting-bits/rellic · Revision 370abaa

More in Native binaries

All 502 entries in Native binaries

↑↓ move↵ open⌘↵ new tab