- Notifications
You must be signed in to change notification settings - Fork46
Handy utilities for the angr binary analysis framework, most notably CFG visualization
License
axt/angr-utils
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Angr-utils is a collection of utilities forangr binary analysis framework.
Visualisation for various graphs (currently supported: CFG, CG; planned: DFG, CDG, DDG) has been moved tobingraphvis.
The API of the facade functions invisualize.py
are considered stable (except marked otherwise in comment), and should not break between releases, although they provide only a limited subset ofbingraphvis functionalities.
This tool is not designed to support interactive CFGs. For full interactivity, check outangr-management, for navigable static CFGs check outcfg-explorer.
- CFG visualisation
- Pretty printers
- Utility functions
cd angr-devgit clone https://github.com/axt/bingraphvispip install -e ./bingraphvisgit clone https://github.com/axt/angr-utilspip install -e ./angr-utils
Seeexamples for more details.
Plot fancy cfg-s:
importangrfromangrutilsimport*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)
About
Handy utilities for the angr binary analysis framework, most notably CFG visualization