falcon_capstone

Capstone bindings in rust

8 releases

0.5.2 Feb 15, 2023
0.5.1 Dec 21, 2021
0.5.0 Aug 26, 2021
0.4.1 Jul 26, 2020
0.2.0 Nov 9, 2017

44 downloads per month
Used in 6 crates (3 directly)

LGPL-3.0

38KB
768 lines

Non-Vendored Linux x86_64 Vendored Linux x86_64

Non-Vendored Linux aarch64 Vendored Linux aarch64

Non-Vendored Linux Arm7 Vendored Linux Arm7

Non-Vendored macOS x86_64 Vendored macOS x86_64

falcon_capstone

This is a fork of Mm7's capstone bindings for Rust, which can be found here.

Requirements

  • Rust edition 2021 (1.56+)

Usage

Vendored

Vendored work thanks to @marirs and @mnaza.

In Cargo.toml include

[dependencies]
falcon_capstone = { git = "https://github.com/falconre/falcon_capstone", branch = "master", features = ["vendored"] }

Non Vendored

Requirements for non vendored compile

  • Libcapstone
    • linux: apt-get install -y libcapstone-dev
    • mac: brew install capstone
  • Clang/LLVM

In Cargo.toml include

[dependencies]
falcon_capstone = { git = "https://github.com/falconre/falcon_capstone", branch = "master" }

Troubleshooting

For any reason if its not getting compiled in macOS complaining about capstone/capstone.h not found although you have it, compile using the following method:

CPATH="/usr/local/include" LIBRARY_PATH="/usr/local/lib" cargo b

assuming that /usr/local/include has the header files of capstone and /usr/local/lib having the capstone lib files. This is because CLANG in macOS has its include and lib path in a different folder location which might not be in the search path.


License: LGPL-3

Dependencies

~0–2.2MB
~44K SLoC