falcon_capstone 0.5.2

Capstone bindings in rust
Documentation

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