#disassembler #cfg #capstone #smda

smda

SMDA is a minimalist recursive disassembler library

8 releases

Uses new Rust 2021

0.2.5 Aug 7, 2022
0.2.4 Mar 30, 2022
0.2.3 Jan 30, 2022
0.1.6 Jan 16, 2022

#237 in Debugging

Custom license

2MB
4.5K SLoC

SMDA

x86_64 Arm7 Windows macOS

SMDA is a minimalist recursive disassembler library that is optimized for accurate Control Flow Graph (CFG) recovery from memory dumps. It is based on Capstone and currently supports x86/x64 Intel machine code. As input, arbitrary memory dumps (ideally with known base address) can be processed.

The output is a collection of functions, basic blocks, and instructions with their respective edges between blocks and functions (in/out). Optionally, references to the Windows API can be inferred by using the ApiScout method.

Requirements

  • Rust 1.56+ (edition 2021)

LICENSE: MIT

Dependencies

~16MB
~440K SLoC