Binary Ninja Debugger
This is the repository for Binary Ninja Debugger. The debugger is written in C++ and is shipped with BN as a plugin.
The debugger is currently in beta status, so it is disabled by default. To enable it, check "Settings" -> "corePlugins" -> "Debugger Plugin (Beta)".
Platform and Target Support
This is the current comparability matrix of the debugger. The horizontal line stands for where we run BN, and lines mean targets.
|macOS||Yes (Local/Remote)||Yes (Remote)||Yes (Remote)|
|Linux||Yes (Remote)||Yes (Local/Remote)||Yes (Remote)|
Yesmeans the feature is supported.
Plannedmeans that we plan to implement it.
TBDmeans that we have not decided whether to support it, or how to support it.
Nomeans it is not possible to do, at least for now.
(1). Right now, we only support gdbserver with android remote debugging. Support for other gdbserver or gdb stub, e.g., qiling, VMWare, QEMU, will be added later.
The progress is tracked in this issue.
- Online Debugger Python API documentation
- There is also a section about the debugger in the User Guide that comes with Binary Ninja
The build instructions are outdated. The stable branch of the debugger is shipped with Binary Ninja on latest dev.
# Get the source git clone https://github.com/Vector35/binaryninja-api.git git clone https://github.com/Vector35/debugger.git # Do an out-of-source build mkdir build cd build # Build it cmake -DBN_API_PATH=../binaryninja-api -DBN_INSTALL_DIR=/path/to/binaryninja/installation -DLLDB_PATH=/path/to/lldb ../debugger/ make
The build artifacts will be in the folder
Note, the above instruction requries LLDB, whose build instruction is not included here. We will update this later.
To install it, first disable
corePlugins.debugger so the debugger that comes with Binary Ninja is not loaded. Then copy everything in the
out folder to the user plugin folder and relaunch BinaryNinja.
The Binary Ninja Debugger is open-source with Apache License 2.0
For other open-source components and their respective licenses, please refer to this list.