Miasm
miasm.re
Spec sheet
- Purpose
- Miasm is a free and open source reverse engineering framework for analyzing, modifying, and generating binary programs.Read 7 Oct 2026 · github.com
- Integrations
- The project lists IDA plugins and tools that use Miasm, including Sibyl, R2M2, CGrex, and ethRE.Read 7 Oct 2026 · github.com
- License
- Miasm is distributed under the GPLv2 license.Read 7 Oct 2026 · github.com
- Analysis features
- It represents assembly semantics in an intermediate language and supports emulation, symbolic execution, and expression simplification for automatic de-obfuscation.Read 7 Oct 2026 · github.com
- Architectures
- It supports assembling and disassembling X86, ARM, MIPS, SH4, and MSP430.Read 7 Oct 2026 · github.com
- Assembly support
- It assembles and disassembles x86, ARM, MIPS, SH4, and MSP430 instructions.Read 7 Oct 2026 · github.com
- Binary formats
- It can open, modify, and generate PE and ELF binaries in 32-bit and 64-bit, little-endian and big-endian forms.Read 7 Oct 2026 · github.com
- Contact and documentation
- The official site lists an email contact and links to pdoc and Doxygen documentation.Read 7 Oct 2026 · miasm.re
- Deobfuscation
- Expression simplification is listed as a feature for automatic de-obfuscation.Read 7 Oct 2026 · github.com
- Documentation
- Documentation includes code comments, examples, interactive Jupyter notebooks, blog posts, and cheatsheets.Read 7 Oct 2026 · github.com
- Emulation
- It uses JIT to emulate shellcode and some or all of binaries, and Python callbacks can interact with execution.Read 7 Oct 2026 · github.com
- File formats
- It supports opening, modifying, and generating 32-bit and 64-bit PE and ELF files in little-endian and big-endian formats.Read 7 Oct 2026 · github.com
- IDA support
- The repository documents Windows and IDA plugin use; without a fuller installation, JIT-related features are unavailable in that setup.Read 7 Oct 2026 · github.com
- Installation
- The project can be installed from its Git repository or Docker images, and requires Python 3.10 or later.Read 7 Oct 2026 · github.com
- Intermediate representation
- It represents assembly semantics using an intermediate language.Read 7 Oct 2026 · github.com
- JIT backends
- Its JIT can use LLVM, GCC, Clang, or Python to emulate intermediate representations.Read 7 Oct 2026 · github.com
- JIT limitation
- If native jitter compilation fails, installation continues, but jitter-dependent features are unavailable unless the build is configured to require JIT.Read 7 Oct 2026 · github.com
- Optional components
- Optional extras provide C parsing, Z3-based translation and analysis, LLVM JIT support, Graphviz export, and Windows API crypto/hash emulation.Read 7 Oct 2026 · github.com
- Requirements
- The listed software requirements are Python 3.10 or newer, future, and pyparsing 2.4.1 or newer.Read 7 Oct 2026 · github.com
- Symbolic execution
- Miasm includes symbolic execution and dynamic symbolic execution examples for program analysis tasks.Read 7 Oct 2026 · miasm.re
- Use cases
- The maker’s blog demonstrates dynamic symbolic execution for algorithm recovery, packer reuse, and automatic crackme solving.Read 7 Oct 2026 · miasm.re
- Windows and IDA
- Most IDA plugins use a subset of Miasm functionality, and the README says all features except JIT-related ones are available with its quick setup instructions.Read 7 Oct 2026 · github.com
Where Specifiction places it
- Reverse Engineering Tools#40 of 737.2