Overview¶
Warning
Please note that the documentation and the API for angr management are highly in-flux. You will need to spend time reading the source code. Grep is your friend. If you have questions, please ask in the angr Discord server.
If you build something which uses an API and you want to make sure it doesn’t break, you can contribute a testcase for the API!
Main Window, Workspace, and Instance¶
First, the
main_window. This is theQMainWindowinstance for the application. It contains basic functions that correspond to top-level buttons, such as loading a binary.Next, the
workspace. This is a light object which coordinates the UI elements and manages the tabbed environment. You can use it to access any analysis-related GUI element, such as the disassembly view.Finally, the
instance. This is angr management’s data model. It contains mechanisms for synchronizing components on shared data sources, as well as logic for creating long-running jobs.
workspace is also available as an attribute on main_window and
instance is available as an attribute on workspace. If you are
programming in a namespace where none of these objects are available, you can
import the angrmanagment.logic.GlobalInfo object, which contains a reference
to main_window.