Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
.azure-pipelines/ | H | 13-Jan-2021 | - | 32 | 26 | |
.github/ISSUE_TEMPLATE/ | H | 13-Jan-2021 | - | 112 | 84 | |
angr/ | H | 13-Jan-2021 | - | 131,819 | 96,729 | |
native/ | H | 03-May-2022 | - | 3,255 | 2,469 | |
tests/ | H | 13-Jan-2021 | - | 17,806 | 12,318 | |
.gitignore | H A D | 13-Jan-2021 | 245 | 33 | 31 | |
Dockerfile | H A D | 13-Jan-2021 | 493 | 12 | 8 | |
LICENSE | H A D | 13-Jan-2021 | 1.3 KiB | 25 | 19 | |
MANIFEST.in | H A D | 13-Jan-2021 | 107 | 4 | 3 | |
README.md | H A D | 13-Jan-2021 | 2.5 KiB | 55 | 39 | |
setup.py | H A D | 03-May-2022 | 5.4 KiB | 176 | 149 |
README.md
1angr 2==== 3 4[![Latest Release](https://img.shields.io/pypi/v/angr.svg)](https://pypi.python.org/pypi/angr/) 5[![PyPI Statistics](https://img.shields.io/pypi/dm/angr.svg)](https://pypistats.org/packages/angr) 6[![Build Status](https://dev.azure.com/angr/angr/_apis/build/status/angr?branchName=master)](https://dev.azure.com/angr/angr/_build/latest?definitionId=18&branchName=master) 7[![License](https://img.shields.io/github/license/angr/angr.svg)](https://github.com/angr/angr/blob/master/LICENSE) 8[![Gitbook](https://img.shields.io/badge/docs-gitbook-green.svg)](http://docs.angr.io) 9[![API Docs](https://img.shields.io/badge/docs-api-green.svg)](http://angr.io/api-doc) 10 11angr is a platform-agnostic binary analysis framework. 12It is brought to you by [the Computer Security Lab at UC Santa Barbara](https://seclab.cs.ucsb.edu), [SEFCOM at Arizona State University](http://sefcom.asu.edu), their associated CTF team, [Shellphish](http://shellphish.net), the open source community, and **[@rhelmot](https://github.com/rhelmot)**. 13 14# What? 15 16angr is a suite of Python 3 libraries that let you load a binary and do a lot of cool things to it: 17 18- Disassembly and intermediate-representation lifting 19- Program instrumentation 20- Symbolic execution 21- Control-flow analysis 22- Data-dependency analysis 23- Value-set analysis (VSA) 24- Decompilation 25 26The most common angr operation is loading a binary: `p = angr.Project('/bin/bash')` If you do this in an enhanced REPL like IPython, you can use tab-autocomplete to browse the [top-level-accessible methods](http://docs.angr.io/docs/toplevel.html) and their docstrings. 27 28The short version of "how to install angr" is `mkvirtualenv --python=$(which python3) angr && python -m pip install angr`. 29 30# Example 31 32angr does a lot of binary analysis stuff. 33To get you started, here's a simple example of using symbolic execution to get a flag in a CTF challenge. 34 35```python 36import angr 37 38project = angr.Project("angr-doc/examples/defcamp_r100/r100", auto_load_libs=False) 39 40@project.hook(0x400844) 41def print_flag(state): 42 print("FLAG SHOULD BE:", state.posix.dumps(0)) 43 project.terminate_execution() 44 45project.execute() 46``` 47 48# Quick Start 49 50- [Install Instructions](http://docs.angr.io/INSTALL.html) 51- Documentation as [HTML](http://docs.angr.io/) and as a [Github repository](https://github.com/angr/angr-doc) 52- Dive right in: [top-level-accessible methods](http://docs.angr.io/docs/toplevel.html) 53- [Examples using angr to solve CTF challenges](http://docs.angr.io/docs/examples.html). 54- [API Reference](http://angr.io/api-doc/) 55