Professional Documents
Culture Documents
Angr
Angr
home
code
docs
api
blog
get involved!
angr
angr is an open-source binary analysis platform for Python. It combines both static and dynamic symbolic ("concolic")
analysis, providing tools to solve a variety of tasks.
Features
Open Source
Released as Free and Open Source Software under the permissive BSD license. Contributions are welcome.
Cross-Platform
Symbolic Execution
{} Decompilation
Architecture Support
Supports analysis of several CPU architectures, loading from several executable formats.
Extensibility
Provides powerful extensibility for analyses, architectures, platforms, exploration techniques, hooks, and more.
Applications
As an introduction to angr's capabilities, here are some of the things that you can do using angr and the tools built with it:
Installation
angr is installed as a Python 3.8+ package, and can be easily installed via PIP.
Documentation
There are a few resources you can use to help you get up to speed!
Community
There are a few resources you can use to help you get up to speed or get you contributing to the project!
We primarily use slack for communication, at angr.slack.com. You can get an invite here.
You can file an issue or send us a PR on github in the appropriate repo.
If you prefer email, and don't mind longer response times, shoot an email to angr-at-lists.cs.ucsb.edu. This is a public
mailing list (to which you can subscribe here).
In all this, please keep in mind that angr is a large project being frantically worked on by a very small group of overworked
students. It's open source, with a typical open source support model (i.e., pray for the best).
For an idea of what to help with, check this out.
Citation
We have used angr heavily in our academic research! If you have used angr or its sub-components in your research, please
cite at least the following paper describing it:
@inproceedings{shoshitaishvili2016state,
title={{SoK: (State of) The Art of War: Offensive Techniques in Binary Analysis}},
author={Shoshitaishvili, Yan and Wang, Ruoyu and Salls, Christopher and
Stephens, Nick and Polino, Mario and Dutcher, Audrey and Grosen, John and
Feng, Siji and Hauser, Christophe and Kruegel, Christopher and Vigna, Giovanni},
booktitle={IEEE Symposium on Security and Privacy},
year={2016}
}
Show more papers
Semi-academically, angr was one of the underpinnings of Shellphish's Cyber Reasoning System for the DARPA Cyber Grand
Challenge, enabling them to win third place in the final round (more info here)! Shellphish has also used angr in many CTFs.
Yan Shoshitaishvili
Ruoyu (Fish) Wang
Audrey Dutcher
Lukas Dresel
Eric Gustafson
Nilo Redini
Paul Grosen
Colin Unger
Chris Salls
Nick Stephens
Christophe Hauser
John Grosen
angr would never have happened if it were not for the vision, wisdom, guidance, and support of the professors:
Christopher Kruegel
Giovanni Vigna
Additionally, there are many open-source contributors, which you can see at
the
various
repositories
in
the
github
orgs.
angr owes its existence to research sponsored by DARPA under agreement number
N66001-13-2-4039!