The goal of diStorm3 is to decode x86/AMD64 binary streams and return a structure that describes each instruction.


Keywords
disassembler, disassembler-distorm, disassembler-library, disassembly, distorm, distorm3, distorm64, x64, x86, x86-64
License
BSD-3-Clause
Install
pip install distorm3==3.5.2

Documentation

Powerful Disassembler Library For x86/AMD64

Welcome to the diStorm3 binary stream disassembler library project.

diStorm3 is really a decomposer, which means it takes an instruction and returns a binary structure which describes it rather than static text, which is great for advanced binary code analysis.

diStorm3 is super lightweight (~45KB), ultra fast and easy to use (a single API), licensed under BSD!

For a light hooking library see the https://github.com/gdabah/distormx project.

"We benchmarked five popular open-source disassembly libraries and chose diStorm3, which had the best performance (and furthermore, has complete 64-bit support).", July 2014, Quoting David Williams-King in his Thesis about Binary Shuffling.

Installing diStorm3 - 'python -m pip install distorm3'

RTFM, the wiki has plenty of info.