Skip to content

Binja Support#20

Open
EtchProject wants to merge 17 commits into
gaasedelen:developfrom
EtchProject:binja
Open

Binja Support#20
EtchProject wants to merge 17 commits into
gaasedelen:developfrom
EtchProject:binja

Conversation

@EtchProject
Copy link
Copy Markdown

@EtchProject EtchProject commented Nov 30, 2022

Hi,

I've started porting Tenet for Binja. I used a decent chunk of code from your lighthouse plugin, and added the other necessary backend/gui portions for everything else.

binja

I've made changes that no longer make the plugin a generic plugin.

  • Changes to the docks
    • Binja doesn't look as clean with DockableWidgets, so I implemented them in the different UI areas
      • SidebarWidget (Registers)
      • SidebarWidget (Stack)
      • GlobalArea (Memory)
    • These changes make it so within each file, I instantiate a different object than the generic DockableWindow object IDA uses. This can be fixed by just moving the instantiation to the *api.py files I believe
  • Pyside6
    • I think Binja only supports Pyside6, there were various places where I have to update the names of static members that had changed from either Pyside2 or Pyside5 (Not sure which)
      • Example: I had to change event.pos() to event.position() in context.py wheelEvent

There's also stuff that needs cleaned up and unused code removed, but the plugin is in a working state for Binja and every feature mentioned in the readme is functioning. It should probably be placed onto it's own branch for the work that still needs done for making it generic and cleaning up.

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.

2 participants