#disassembly #capstone #disassemble

sys capstone-sys-git

System bindings to the capstone disassembly library

1 unstable release

0.17.0-commit4ed86fb Oct 20, 2025

#6 in #capstone


Used in 2 crates (via capstone-git)

MIT license

35MB
1M SLoC

Bitbake 1M SLoC // 0.1% comments C 58K SLoC // 0.1% comments C# 30K SLoC // 0.0% comments Rust 29K SLoC // 0.0% comments Python 24K SLoC // 0.1% comments Java 16K SLoC // 0.0% comments OCaml 14K SLoC // 0.0% comments VB6/VBA 3K SLoC // 0.2% comments Shell 543 SLoC // 0.2% comments PowerShell 520 SLoC // 0.3% comments C++ 485 SLoC // 0.1% comments Ruby 386 SLoC // 0.0% comments Visual Studio Project 311 SLoC Batch 270 SLoC Visual Studio Solution 69 SLoC

capstone-sys

Low-level, unsafe Rust bindings for the Capstone disassembly library.

Crates.io Badge

API Documentation

NOTE: We recommend against using this crate directly. Instead, consider using capstone-rs, which provides a high-level, "Rusty" interface.

Requirements

  • Minimum Rust Version: 1.70.0
  • A toolchain capable of compiling Capstone
    • We build the bundled Capstone with the cc crate

Features

You can specify the following features in Cargo.toml:

  • use_bindgen: instead of using the pre-generated Capstone bindings, dynamically generate bindings with bindgen.
  • full (enabled by default): enable full capstone build instead of diet.
  • arch_$ARCH (enabled by default): enable arch $ARCH support in capstone, e.g. arch_arm64 enables arch arm64 support.
  • support_all_archs (enabled by default): enable all archs available in capstone, imply all arch_$ARCH features.

Dependencies