Profiler 2.5 is out with the following news:
– introduced scan provider extensions
– added support for Torrent files
– added the capability to display views as dialogs
– exposed official Python bindings for capstone
– added new controls to custom views
– updated capstone to 3.0.3
– fixed failed allocation security issue
– various bug fixes and improvements
Dialogs from views
In this new edition it’s possible to create dialogs out of views. Just like this:
ctx = proContext()
view = ctx.createView(ProView.Type_Custom, "Dialog title")
view.setup(view_layout, viewCallback, user_data)
dlg = ctx.createDialog(view)
Of course, it doesn’t have to be a custom view, it can even be a simple text view or a hex view, although usually custom views make more sense for a dialog, as you’ll probably want to show some standard buttons like “Ok” and “Cancel” at the bottom.
While Capstone has been part of Profiler for quite some time now, now it’s possible to directly call its official Python bindings. The module can be found under ‘Pro.capstone’ and can be imported easily to be made working with existing code:
import Pro.capstone as capstone
Failed allocation security issue
In the Qt framework memory allocations fail silently, at least in the release version. We didn’t notice it, because in the debug version they would at least throw an exception preventing further execution. Since in release the execution wouldn’t be stopped, it was in some cases possible to trigger a failed allocation and then make the program use memory it didn’t own (so basically a buffer overflow). This problem has now been fixed.
Credit goes to the Insid3Code Team for having found and reported the issue.