Miasm is a reverse engineering framework for analysing, modifying and generating binary programs. Rather than concentrating on a single stage of reverse engineering, it provides components spanning executable parsing, assembly, disassembly, intermediate representations, emulation and symbolic execution.
Its architecture makes Miasm particularly suited to researchers and developers building specialised analysis workflows. Instructions from different processor architectures can be represented using a common intermediate language, allowing further transformations and analyses to operate independently of the original instruction set.
This is free and open source software.
Key Features
- Open, modify and generate PE and ELF executables.
- Handle 32-bit and 64-bit binary formats.
- Support little-endian and big-endian targets where applicable.
- Assemble and disassemble x86, ARM, MIPS, SH4 and MSP430 instructions.
- Provide a common Machine abstraction across supported architectures.
- Represent assembly semantics using an intermediate language.
- Construct intermediate-representation control-flow graphs.
- Inspect read and write effects of intermediate expressions.
- Provide JIT-based emulation for dynamic code analysis.
- Support workflows involving unpacked or dynamically transformed code.
- Simplify expressions for automated de-obfuscation.
- Perform symbolic execution over intermediate representations.
- Inspect and modify registers and virtual memory during emulation.
- Add breakpoints and custom callbacks to emulated execution.
- Work with executable files as well as raw shellcode.
- Integrate into custom reverse-engineering scripts and applications.
Website: github.com/cea-sec/miasm
Support:
Developer: Fabrice Desclaux and contributors
License: GNU General Public License v2.0 or later
Miasm is written primarily in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Binary Analysis Tools | |
|---|---|
| Ghidra | Software reverse engineering framework |
| Radare2 | Portable reversing framework |
| Cutter | Graphical reverse engineering platform |
| Detect it Easy | File inspection utility |
| ImHex | Analyze binary data |
| capa | Command line malware analysis tool |
| binwalk | Search a given binary image for embedded files |
| FLOSS | FLARE Obfuscated String Solver |
| unblob | Extraction suite for working with unknown binary blobs |
| Rizin | UNIX-like reverse engineering framework |
| LIEF | Work with executable and binary formats |
| RetDec | Retargetable machine-code decompiler |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.