Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Introduction

Miasm is a Python framework for assembling, disassembling, symbolic execution and emulation on various platforms.

It's under active development, so older source code examples on the web e.g. the ones on the Miasm blog may require some porting to work with to the current version.

The framework is also extensively tested, so the looking into the code in the test directory helps when you're looking for examples of specific function calls.

Usage

sym_exec.py shows how to disassemble and use the SymbolicExecutionEngine to get the IR expression for the destination of the current block. It also shows basics of working with expressions to provide a simplified context.

emu.py shows how to use the high-level Sandbox abstraction to emulate parts of the code. Sandbox provides you several options out of the box which makes debugging the emulation process easy.

References

  • Miasm blog - Home to several examples that really showcases the power of this tool
  • Advanced Binary Deobfuscation - Up-to-date Miasm scripts from the NTT Secure Platform Laboratories course, very good examples
  • Examples - Official examples from the Github repo
  • Extra docs - Handy Jupyter Notebooks on Miasm concepts like the IR, Expressions and LocationDB