borzacchiello / seninja

symbolic execution plugin for binary ninja
BSD 2-Clause "Simplified" License
244 stars 22 forks source link

SENinja dock widgets are not visible or accessible in Binary Ninja 4.0 #14

Open galenbwill opened 5 months ago

galenbwill commented 5 months ago

Dock widgets have been deprecated in the Binary Ninja UI, and it appears the SENinja UI elements cannot be made visible in the new 4.0 interface currently on the dev channel.

The dock widgets probably need to be converted into sidebar widgets.

(Tested on both version installed from Plugin Manager and current master on github.)

Also, this one floating thing does appear, and can be moved around the screen, but it's not clear if it's an SENinja dock widget or something else:

Edit: it appears that little floating thing in the screenshot is not coming from this plugin, so I've deleted the screenshot.

borzacchiello commented 5 months ago

Thank you for pointing out the issue!

It'll take a while, but I'll work on it :)

galenbwill commented 5 months ago

Also note that the "SENinja Memory" widget does show up in the global area as it should, but with the new sidebar UI it appears in the "Other (Compatibility)" pane, accessible via the question mark sidebar button (bottom left by default, I believe).

robert-yates commented 5 months ago

i was thinking a while ago to convert this into sidebar stuff, but i kind of liked it on the right side rather than left, however now with 4.0 there will be a lot more good options, but im more a c++ coder than python, so i will leave it to @borzacchiello :)

borzacchiello commented 5 months ago

I started working on it, you can review the progress in the uirefactoring branch. I'm refactoring all the UI elements in a single widget of the side panel. Here it is a demo image: image

The memory view is the difficult one to port, maybe I must rethink it... :thinking:

borzacchiello commented 5 months ago

I merged into master the new UI widget, let me know if it works now! I'll leave the issue open for a while.

I refactored and rewrote a lot of code, in particular the memory view is completely new.

Also, now most of the actions can be performed using the buttons on top of the widget (instead of using the right-click menu), including starting the analysis (I will update the documentation in the future).

A screenshot: image

0x62797465 commented 4 months ago

tysm!