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
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 |
| Capstone | Lightweight multi-architecture disassembly framework |
| Detect it Easy | File inspection utility |
| ImHex | Analyze binary data |
| Miasm | Reverse engineering framework for analysing and emulating binaries |
| Reko | General-purpose decompiler for machine-code binaries |
| 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 |
| REDasm | Cross-platform disassembler with an extensible graphical interface |
| Pharos | Framework for automated static analysis of binary programs |
| LIEF | Work with executable and binary formats |
| RetDec | Retargetable machine-code decompiler |
| knife | Static binary triage, disassembly and vulnerability analysis toolkit |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.