All Projects → axt → Angr Utils

axt / Angr Utils

Licence: bsd-2-clause
Handy utilities for the angr binary analysis framework, most notably CFG visualization

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Angr Utils

Qiling
Qiling Advanced Binary Emulation Framework
Stars: ✭ 2,816 (+1566.27%)
Mutual labels:  analysis, binary
xbpch
xarray interface for bpch files
Stars: ✭ 17 (-89.94%)
Mutual labels:  analysis, binary
Replica
Ghidra Analysis Enhancer 🐉
Stars: ✭ 194 (+14.79%)
Mutual labels:  analysis, binary
Gtirb
Intermediate Representation for Binary analysis and transformation
Stars: ✭ 190 (+12.43%)
Mutual labels:  analysis, binary
Angr
A powerful and user-friendly binary analysis platform!
Stars: ✭ 5,542 (+3179.29%)
Mutual labels:  analysis, binary
Reverse Engineering Tutorials
Some Reverse Engineering Tutorials for Beginners
Stars: ✭ 217 (+28.4%)
Mutual labels:  analysis, binary
vulnscan
A static binary vulnerability scanner
Stars: ✭ 47 (-72.19%)
Mutual labels:  analysis, binary
Krane
Kubernetes RBAC static Analysis & visualisation tool
Stars: ✭ 254 (+50.3%)
Mutual labels:  analysis, visualisation
Binee
Binee: binary emulation environment
Stars: ✭ 408 (+141.42%)
Mutual labels:  analysis, binary
Ddisasm
A fast and accurate disassembler
Stars: ✭ 325 (+92.31%)
Mutual labels:  analysis, binary
Cytoscape.js
Graph theory (network) library for visualisation and analysis
Stars: ✭ 8,107 (+4697.04%)
Mutual labels:  analysis, visualisation
Cfg Explorer
CFG explorer for binaries
Stars: ✭ 33 (-80.47%)
Mutual labels:  analysis, binary
Misp Maltego
Set of Maltego transforms to inferface with a MISP Threat Sharing instance, and also to explore the whole MITRE ATT&CK dataset.
Stars: ✭ 112 (-33.73%)
Mutual labels:  analysis, visualisation
Uvtools
MSLA/DLP, file analysis, calibration, repair, conversion and manipulation
Stars: ✭ 148 (-12.43%)
Mutual labels:  analysis
Pastas
🍝 Pastas is an open-source Python framework for the analysis of hydrological time series.
Stars: ✭ 155 (-8.28%)
Mutual labels:  analysis
Scde
R package for analyzing single-cell RNA-seq data
Stars: ✭ 147 (-13.02%)
Mutual labels:  analysis
Rustig
A tool to detect code paths leading to Rust's panic handler
Stars: ✭ 145 (-14.2%)
Mutual labels:  analysis
Open Synthesis
Open platform for CIA-style intelligence analysis
Stars: ✭ 158 (-6.51%)
Mutual labels:  analysis
Cs2cpp
C# to C++ transpiler (Cs2Cpp) (Powered by Roslyn)
Stars: ✭ 155 (-8.28%)
Mutual labels:  binary
Flowiz
Converts Optical Flow files to images and optionally compiles them to a video. Flow viewer GUI is also available. Check out mockup right from Github Pages:
Stars: ✭ 144 (-14.79%)
Mutual labels:  visualisation

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

Install

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

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_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)  

cfg

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].