Security

Miasm – reverse engineering framework for binary analysis

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
GhidraSoftware reverse engineering framework
Radare2Portable reversing framework
CutterGraphical reverse engineering platform
CapstoneLightweight multi-architecture disassembly framework
Detect it EasyFile inspection utility
ImHexAnalyze binary data
MiasmReverse engineering framework for analysing and emulating binaries
RekoGeneral-purpose decompiler for machine-code binaries
capaCommand line malware analysis tool
binwalkSearch a given binary image for embedded files
FLOSSFLARE Obfuscated String Solver
unblobExtraction suite for working with unknown binary blobs
RizinUNIX-like reverse engineering framework
REDasmCross-platform disassembler with an extensible graphical interface
PharosFramework for automated static analysis of binary programs
LIEFWork with executable and binary formats
RetDecRetargetable machine-code decompiler
knifeStatic binary triage, disassembly and vulnerability analysis toolkit

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted