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 angr-management, or 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 angr-management directory. If you encounter dependency issues, re-running setup.sh or setup.bat from angr-dev will ensure all dependencies are installed.

angr-management can then be run with angr-management or python start.py.

FLIRT signatures: For now, please manually clone FLIRT signatures by running git clone --recurse-submodules https://github.com/angr/angr-management, which will clone the 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 plugins. The directory must contain an __init__.py like that in 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 BasePlugin. Callbacks and events are a work in progress, so the API is subject to change. See TestPlugin for an example of a multithreaded plugin sample.

Configuration

Configuration files locations vary by platform:

  • Windows: ~AppDataLocalangr-managementconfig.toml

  • macOS: ~/Library/Preferences/angr-management/config.toml

  • Linux: ~/.config/angr-management/config.toml