#disassembly #disassemble

sys capstone-sys

System bindings to the capstone disassembly library

15 breaking releases

0.17.0 Feb 4, 2025
0.16.0 Feb 25, 2024
0.15.0 May 2, 2022
0.14.0 Aug 9, 2021
0.2.0 Nov 15, 2016

#764 in Debugging

Download history 53609/week @ 2025-08-25 41428/week @ 2025-09-01 43300/week @ 2025-09-08 31440/week @ 2025-09-15 28431/week @ 2025-09-22 38132/week @ 2025-09-29 40023/week @ 2025-10-06 40352/week @ 2025-10-13 37775/week @ 2025-10-20 33621/week @ 2025-10-27 43446/week @ 2025-11-03 32430/week @ 2025-11-10 39018/week @ 2025-11-17 31749/week @ 2025-11-24 36364/week @ 2025-12-01 41117/week @ 2025-12-08

150,271 downloads per month
Used in 64 crates (4 directly)

MIT license

32MB
1M SLoC

Bitbake 859K SLoC // 0.1% comments C 52K SLoC // 0.1% comments Rust 25K SLoC // 0.0% comments Python 22K SLoC // 0.1% comments C# 19K SLoC // 0.1% comments Java 15K SLoC // 0.0% comments OCaml 14K SLoC // 0.0% comments VB6/VBA 3K SLoC // 0.2% comments Shell 542 SLoC // 0.2% comments PowerShell 520 SLoC // 0.3% comments C++ 485 SLoC // 0.1% comments Visual Studio Project 311 SLoC Batch 291 SLoC // 0.0% comments RPM Specfile 122 SLoC // 0.0% comments Visual Studio Solution 69 SLoC Cython 44 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.

Dependencies