⚠️ These bindings are in a very early beta, only have partial support for the core APIs and are still actively under development. Compatibility will break and conventions will change! They are being used for core Binary Ninja features however, so we expect much of what is already there to be reliable enough to build on, just don't be surprised if your plugins/scripts need to hit a moving target.
⚠️ This project runs on Rust version1.77.0
Having BinaryNinja installed (and your license registered) Clang Rust
See examples/template
for more details.
Cargo.toml
:
[lib]
crate-type = ["cdylib"]
[dependencies]
binaryninja = {git = "https://github.com/Vector35/binaryninja-api.git", branch = "dev"}
See the ./examples/
. Plugin registration commands are in binaryninja::command::*
Cargo.toml
:
[dependencies]
binaryninja = { git = "https://github.com/Vector35/binaryninja-api.git", branch = "dev"}
All standalone binaries should call both binaryninja::headless::init()
and binaryninja::headless::shutdown()
.
All standalone binaries need to provide a build.rs
.
See examples/template
for details.
Docs can be found at https://dev-rust.binary.ninja/
This project makes use of:
- log (log license - MIT)
- rayon (rayon license - MIT)