Star on GitHubStar1.1k stars

Tool

Remill

Static binary translation library that lifts AArch64, SPARC32, SPARC64, x86 and amd64 machine code, including AVX and AVX512, into LLVM bitcode, with AArch32 support underway. It focuses on lifting individual instructions accurately and is meant as a library for other tools such as McSema; its documentation walks through how an instruction is lifted, how instruction semantics are implemented and the overall design.

Targets
Binary
Category
Binary analysis libraries
Relationship
Foundation tool
Sources reviewed

Requirements & limits

  • Prerequisites: Supported on Linux and tested on Ubuntu 22.04; it also works on macOS, and Windows support is experimental. Building uses the superbuild in dependencies/ with CMake 3.21+, Ninja, LLVM and Clang 15+, Intel XED, Google Flags, Log and Test and Python 3, and Linux builds can also run in Docker. Release at review: v6.0.1, published 2026-04-21; the reviewed master commit dates from 2026-08-27.
  • License: Apache-2.0 per LICENSE.

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/remill · Revision 56918a8
  2. docs/LIFE_OF_AN_INSTRUCTION.md GitHub · lifting-bits/remill · Revision 56918a8
  3. docs/DESIGN.md GitHub · lifting-bits/remill · Revision 56918a8
  4. LICENSE GitHub · lifting-bits/remill · Revision 56918a8
  5. https://github.com/lifting-bits/remill/releases/tag/v6.0.1

More in Native binaries

All 250 entries in Native binaries

↑↓ move↵ open⌘↵ new tab