Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/marirs/smda-rs

SMDA is a minimalist recursive disassembler library
https://github.com/marirs/smda-rs

capstone capstone-project disassembler disassembler-libraries rust rust-crate rust-lang rust-library smda

Last synced: 4 days ago
JSON representation

SMDA is a minimalist recursive disassembler library

Awesome Lists containing this project

README

        

# SMDA

[![x86_64](https://github.com/marirs/smda-rs/actions/workflows/linux_x86-64.yml/badge.svg)](https://github.com/marirs/smda-rs/actions/workflows/linux_x86-64.yml)
[![Arm7](https://github.com/marirs/smda-rs/actions/workflows/linux_arm7.yml/badge.svg)](https://github.com/marirs/smda-rs/actions/workflows/linux_arm7.yml)
[![Windows](https://github.com/marirs/smda-rs/actions/workflows/windows.yml/badge.svg)](https://github.com/marirs/smda-rs/actions/workflows/windows.yml)
[![macOS](https://github.com/marirs/smda-rs/actions/workflows/macos.yml/badge.svg)](https://github.com/marirs/smda-rs/actions/workflows/macos.yml)

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)

### Reference
This is a [python port](https://github.com/danielplohmann/smda/) whose original authors are: Daniel Plohman and Steffen Enders

---
LICENSE: MIT