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 or later

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
Detect it EasyFile inspection utility
ImHexAnalyze binary data
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
LIEFWork with executable and binary formats
RetDecRetargetable machine-code decompiler

Read our verdict in the software roundup.


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

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted