You need at least the personal edition of Binary Ninja (only tested on version 4.0+) that runs at least Python 3.8 for plugins.
Copy (or symlink) binja_script.py
to your plugins directory.
To start the Binary Ninja integration, open the binary you want to debug in Binary Ninja, then go to Plugins > pwndbg > Start integration on current view
. This will start the XMLRPC server that pwndbg queries for information.
Then, inside GDB, run set integration-provider binja
, which will start the integration. You can run set integration-provider none
to disable it again.
The integration currently syncs symbol names, comments, decompilation, function type signatures, and stack variables.
bn-sync
: Navigate the Binary Ninja view to the current instructiondecomp ADDR NLINES
: Displays the decompilation forNLINES
lines at addressADDR
.
bn-autosync
: If set toyes
, every step will automatically runbn-sync
bn-il-level
: Sets the IL level to use for decompilation. Valid values are:disasm
,llil
,mlil
,hlil
bn-rpc-host
/bn-rpc-port
: The host and port to connect to for the XMLRPC serverbn-timeout
: The amount, in seconds, to wait for the XMLRPC server to connect