angr-utils
Angr-utils is a collection of utilities for angr binary analysis framework.
Note
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
Usage
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_bin.get_symbol("main")
start_state = proj.factory.blank_state(addr=main.addr)
cfg = proj.analyses.CFG(fail_fast=True, starts=[main.addr], initial_state=start_state)
plot_cfg(cfg, "ais3_cfg", asminst=True, remove_imports=True, remove_path_terminator=True)