Skip to content

Major refactor: use BinSync library (libbs) in server backend - #151

Merged
mahaloz merged 14 commits into
mainfrom
feat/libbs_backend
Feb 18, 2026
Merged

mahaloz merged 14 commits into
mainfrom
feat/libbs_backend

Conversation

@mahaloz

@mahaloz mahaloz commented Jan 18, 2026 •

Copy link
Copy Markdown
Owner

Closes #84.

Refactors the server backend to use libbs, which will immediately do the following:

  • eliminate all Java code need for Ghidra (now it's PyGhidra)
  • remove all decompilers, individual server codes (libbs does it all, hacks go there now)
  • immediately improves some caching

This PR also opens the door for:

  • switch protocols for server (for speed)
  • server and client-side caching for serious speed gains
  • struct support, which libbs now exposes for free

This PR will aim not to break any APIs, maintain backwards compatibility, and keep XMLRPC for this update.

TODO

  • Working test on fauxware
  • All decompilers work again
    • IDA
    • Ghidra
    • Binja
    • angr
  • Add new headless tests for running gdb and the decompiler servers

@k4lizen

k4lizen commented Feb 8, 2026

Copy link
Copy Markdown
Contributor

oh my god this looks so much better

@mahaloz

mahaloz commented Feb 15, 2026

Copy link
Copy Markdown
Owner Author

@k4lizen If you have any time to test, on this PR, that your normal use case in pwndbg feels the same, lmk. So far it seems the same for my uses.

@k4lizen

k4lizen commented Feb 16, 2026

Copy link
Copy Markdown
Contributor

i tested it with IDA and didn't see any immediate issues

@mahaloz mahaloz changed the title [wip] Major refactor: use BinSync library (libbs) in server backend Major refactor: use BinSync library (libbs) in server backend Feb 18, 2026
@mahaloz
mahaloz merged commit d557d54 into main Feb 18, 2026
1 check passed
mahaloz added a commit that referenced this pull request Feb 18, 2026
This reverts commit d557d54.
mahaloz added a commit that referenced this pull request Mar 27, 2026
This reverts commit 036265e.
mahaloz added a commit that referenced this pull request Apr 23, 2026
* re-align version

* Revert "Temp Revert #151"

This reverts commit 036265e.

* fix up the entrypoint

* add default str

* fix

* Bind Ctrl+Shift+D to "Start decomp2dbg server"

Uses the new `shortcut` parameter on `gui_register_ctx_menu` (libbs)
so the server-start dialog can be triggered without going through
the menu. Works across IDA, Binja, and angr.

* bump libbs version

* Add a keybind for Ghidra
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use LibBS to collect artifacts from decompilers

2 participants