Quickstart ========== Installation ------------ Portable, pre-built executable ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The easiest way to run angr-management is by grabbing a bundled release from the releases page: https://github.com/angr/angr-management/releases Builds can be extracted and then run from anywhere. Note that builds are currently unsigned. From PyPI ^^^^^^^^^ To install angr-management, use pip:: pip install angr-management Alternatively, if you're using the `uv package manager `_, angr-management can be installed with:: uv tool install angr-management Once installed, angr-management can be run with the command :code:`angr-management`, or :code:`am`. Development Install ^^^^^^^^^^^^^^^^^^^ See `angr-dev `_ for how to set up a development environment for the angr suite. angr-management is included by default and checked out to :code:`angr-management` directory. If you encounter dependency issues, re-running :code:`setup.sh` or :code:`setup.bat` from angr-dev will ensure all dependencies are installed. angr-management can then be run with :code:`angr-management` or :code:`python start.py`. **FLIRT signatures**: For now, please manually clone FLIRT signatures by running :code:`git clone --recurse-submodules https://github.com/angr/angr-management`, which will clone the :code:`flirt_signatures` submodule. Views ----- angr-management's window is partitioned into "views" of information about the binary, including: * Functions - List of functions in the binary. * Disassembly - Graph or linear disassembly of the binary's machine code. * Pseudocode - Interactive function decompilation and source display (with the source viewer plugin). * Hex - Hex-editor view of the binary's address space. * Console - iPython terminal for working with the angr project and the angr-management workspace. * Strings - Table of all strings found in the binary. * Patches - Table of patches made to the binary. Views can be opened from the main View menu and rearranged by click+dragging on the view title bar. Command Palette --------------- Ctrl+Shift+P opens the Command Palette, providing a quick menu of actions. Goto Anything ------------- Double-tapping the Shift key opens the *Goto Anything* dialog for a fuzzy matched search of objects to navigate to. Note: currently "anything" includes only functions. Plugins ------- angr-management includes a set of plugins that can optionally be enabled from the Plugins > Manage Plugins menu. Plugins may be installed by placing a subdirectory under :code:`plugins`. The directory must contain an :code:`__init__.py` like that in :code:`TestPlugin`:: from .test_plugin import TestPlugin PLUGIN_CLS_NAME = TestPlugin.__name__ This also allows you to import a plugin class from another package entirely. The plugin itself should inherit from :code:`BasePlugin`. Callbacks and events are a work in progress, so the API is subject to change. See :code:`TestPlugin` for an example of a multithreaded plugin sample. Configuration ------------- Configuration files locations vary by platform: * Windows: :code:`~\AppData\Local\angr-management\config.toml` * macOS: :code:`~/Library/Preferences/angr-management/config.toml` * Linux: :code:`~/.config/angr-management/config.toml`