From 4942700ca3387b64cc6443a80bac60b470588bb9 Mon Sep 17 00:00:00 2001 From: Jordan Wiens Date: Mon, 17 Oct 2022 06:23:08 -0400 Subject: documentation overhaul --- docs/dev/index.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 docs/dev/index.md (limited to 'docs/dev/index.md') diff --git a/docs/dev/index.md b/docs/dev/index.md new file mode 100644 index 00000000..d379de0d --- /dev/null +++ b/docs/dev/index.md @@ -0,0 +1,36 @@ +# Using the Binary Ninja API + +Welcome to the Binary Ninja API documentation. Much like the [User Manual](/guide/), some larger sections have been split off into their own sections on the left, while the table of contents for this documentation is on the right. + +## Language Specific Bindings + +The Binary Ninja API is available through a [Core API](#core-api), through the [C++ API](#c-api), through a [Python API](#python-api), and a [Rust API](#rust-api). + +### Python API + +The most heavily documented of all of the APIs, the Python API serves as a useful documentation for the other APIs. Here's a list of the most important Python API documentation resources: + + - [Writing Python Plugins](plugins.md) + - [Python API](https://api.binary.ninja/) + - [API Source](https://github.com/Vector35/binaryninja-api/tree/dev/python) + +### Core API + +The Core API is designed to only be used as a shim from other languages and is not currently intended to be used to build C plugins directly. + + - [Header](https://github.com/Vector35/binaryninja-api/blob/dev/binaryninjacore.h) (used by all other bindings) + +### C++ API + +The C++ API is what the Binary Ninja UI itself is built using so it's a robust and fully feature-complete interface to the core, however, it does not have the same level of detail in the documentation. + + - [C++ Header](https://github.com/Vector35/binaryninja-api/blob/dev/binaryninjaapi.h) (along with the rest of the [repository](https://github.com/Vector35/binaryninja-api)) + - [Build Instructions](https://github.com/Vector35/binaryninja-api#building) + - [C++ / UI API Documentation](https://api.binary.ninja/cpp/) + +### Rust API + +The Rust API is still experimental and lacks complete coverage for all core APIs. Documentation is available at: + + - [Rust API](https://github.com/Vector35/binaryninja-api/tree/dev/rust) + -- cgit v1.3.1