x86 / ARM / SPARC
Remill
Machine-code lifter that translates instructions into LLVM bitcode for later analysis and transformation.
View on GitHub
lifting-bits/remill
Best for
Recovering analyzable program structure from raw instructions.
Surface
x86 / ARM / SPARC
Catalog group
Analyze binaries and reverse engineer behavior
Repository
lifting-bits/remill
From the README
Remill is a static binary translator that translates machine code instructions into LLVM bitcode. It translates AArch64 (64-bit ARMv8), SPARC32 (SPARCv8), SPARC64 (SPARCv9), x86 and amd64 machine code (including AVX and AVX512) into LLVM bitcode. AArch32 (32-bit ARMv8 / ARMv7) support is underway. Remill focuses on accurately lifting instructions. It is meant to be used as a library for other tools, e.g. McSema.Read the full README on GitHub ↗
Related tools · Analyze binaries and reverse engineer behavior
- Anvill Lifting primitives that aim for Clang-like bitcode quality so decompiled output is easier to reason about.
- VMill Snapshot-based process emulator for executing lifted binaries and instrumenting them in LLVM form.
- Manticore Symbolic execution engine for binaries, smart contracts, and WebAssembly programs.
- Maat Dynamic symbolic execution and binary-analysis framework with taint analysis, environment simulation, and constraint solving.
- Codex Decompiler Ghidra plugin that uses language models to improve decompilation and reverse-engineering workflows.