google/bindiff

Rebuild the UI to use web technologies for easier embedding

cblichmann opened this issue · 0 comments

Is your feature request related to a problem? Please describe.

  • The Java UI is dated and requires a proprietary graph visualization libray
  • BinDiff native plugins for IDA Pro and binary Ninja cannot embedd a high-quality graph view
  • The current workflow with the standalone UI is cumbersome and few people actually use "BinDiff Workspaces".

Describe the solution you'd like

  • Implement a UI using Typescript and web technologies. D3.js with the DAG layouter should be able to support the flow graph use cases and render to Canvas.
  • Have the bindiff executable launch a server for this and either embed a web view in the disassemblers or show the browser.

Describe alternatives you've considered

  • Gephi
  • Extracting the graphing library from Ghidra
  • Implementing a new desktop UI in Qt

Additional context
This should eventually become a "GitHub Project".