Handy utilities for the angr binary analysis framework, most notably CFG visualization
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
angrutils Add base styling: color schemes Oct 4, 2018
.gitignore Added base layout + plot_cfg function Mar 21, 2016
LICENSE Added base layout + plot_cfg function Mar 21, 2016
README.md Docs fixup Oct 4, 2018
setup.py Bumped pypi version to 0.5.0 Dec 17, 2018



Angr-utils is a collection of utilities for angr binary analysis framework.


Visualisation for various graphs (currently supported: CFG, CG; planned: DFG, CDG, DDG) has been moved to bingraphvis.

The API of the facade functions in visualize.py are considered stable (except marked otherwise in comment), and should not break between releases, although they provide only a limited subset of bingraphvis functionalities.

This tool is not designed to support interactive CFGs. For full interactivity, check out angr-management, for navigable static CFGs check out cfg-explorer.

Main functionality

  • CFG visualisation
  • Pretty printers
  • Utility functions


cd angr-dev
git clone https://github.com/axt/bingraphvis
pip install -e ./bingraphvis
git clone https://github.com/axt/angr-utils
pip install -e ./angr-utils


See examples for more details.

Plot fancy cfg-s:

import angr
from angrutils import *
proj = angr.Project("<...>/ais3_crackme", load_options={'auto_load_libs':False})
main = proj.loader.main_object.get_symbol("main")
start_state = proj.factory.blank_state(addr=main.rebased_addr)
cfg = proj.analyses.CFGEmulated(fail_fast=True, starts=[main.rebased_addr], initial_state=start_state)
plot_cfg(cfg, "ais3_cfg", asminst=True, remove_imports=True, remove_path_terminator=True)