I think the current KB (or angr.Project) should be globally accessible, either as a global var or through a globally-accessible workspace property. The DisassemblyView only has it through the cfg, which doesn't exist right off the bat. In other places, like the functions table, I've had to hack in a new property.
For example, I'm writing a KB plugin that stores information per instruction or per function and I lookup function/instruction information in the plugin to change the background highlight color in the disassembly and/or function table widget.
EDIT: Ditto for making the current project accessible through the Python console.
I think the current KB (or
angr.Project
) should be globally accessible, either as a global var or through a globally-accessible workspace property. TheDisassemblyView
only has it through thecfg
, which doesn't exist right off the bat. In other places, like the functions table, I've had to hack in a new property.For example, I'm writing a KB plugin that stores information per instruction or per function and I lookup function/instruction information in the plugin to change the background highlight color in the disassembly and/or function table widget.
EDIT: Ditto for making the current project accessible through the Python console.