Ghidra
Extra Install Steps
You must install using pip3 install binsync[ghidra] for the extra dependencies. After doing this, continue with installation via Script.
- Install extra dependencies using
pip3 install binsync[ghidra] - Continue with installation via Script
- From the main window, go to Edit -> Plugin Path and make sure the plugin path created by BinSync is included
- From CodeBrowser, go to Window -> Script Manager -> find
binsync_plugin.pyand tick the "In Tool" box in its line - Start BinSync in CodeBrowser via Tools -> BinSync -> Start UI
Extra Info
BinSync is written in Python 3, however, Ghidra only has a Python 2 backend.
To deal with this, we use a vendored version of ghidra_bridge.
We copy a BinSync stub, along with Ghidra Bridge code, into the ghidra_scripts folder, which is Python 2.
Inside Ghidra, when you start BinSync, we use the Python 2 side to start the Python 3 GUI in another thread.
We use Ghidra Bridge to make change requests to the Ghidra UI.
Support Progress
| Operations | Function Headers | Stack Vars | Global Vars | Structs | Enums | Comments |
|---|---|---|---|---|---|---|
| Symbols | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
| Types | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
| Pull | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ✔️ |
| Push | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
| Auto Push | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |