Skip to main content

A multi-architecture binary analysis toolkit, with the ability to perform dynamic symbolic execution and various static analyses on binaries

Project description

angr

Latest Release PyPI Statistics Build Status License Gitbook API Docs

angr is a platform-agnostic binary analysis framework. It is brought to you by the Computer Security Lab at UC Santa Barbara, SEFCOM at Arizona State University, their associated CTF team, Shellphish, the open source community, and @rhelmot.

What?

angr is a suite of Python 3 libraries that let you load a binary and do a lot of cool things to it:

  • Disassembly and intermediate-representation lifting
  • Program instrumentation
  • Symbolic execution
  • Control-flow analysis
  • Data-dependency analysis
  • Value-set analysis (VSA)
  • Decompilation

The 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 and their docstrings.

The short version of "how to install angr" is mkvirtualenv --python=$(which python3) angr && python -m pip install angr.

Example

angr does a lot of binary analysis stuff. To get you started, here's a simple example of using symbolic execution to get a flag in a CTF challenge.

import angr

project = angr.Project("angr-doc/examples/defcamp_r100/r100", auto_load_libs=False)

@project.hook(0x400844)
def print_flag(state):
    print("FLAG SHOULD BE:", state.posix.dumps(0))
    project.terminate_execution()

project.execute()

Quick Start

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

angr-9.2.15.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

angr-9.2.15-py3-none-win_amd64.whl (2.9 MB view details)

Uploaded Python 3Windows x86-64

angr-9.2.15-py3-none-manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded Python 3

angr-9.2.15-py3-none-macosx_10_9_x86_64.whl (2.6 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file angr-9.2.15.tar.gz.

File metadata

  • Download URL: angr-9.2.15.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for angr-9.2.15.tar.gz
Algorithm Hash digest
SHA256 61c83d6b59dcbf97e7e11b27b50a00a6fe42c94fbcdbb63d5d2e05add6b486dd
MD5 1433e21b79f21117e6806e0e6a2b3145
BLAKE2b-256 7d97724f14c4a9d5c50fb329ad510b867757027b41cafef2c877c4febfa04042

See more details on using hashes here.

File details

Details for the file angr-9.2.15-py3-none-win_amd64.whl.

File metadata

  • Download URL: angr-9.2.15-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for angr-9.2.15-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 1f7462266bc512659e7766c3fd42b6d9eeb6bf10da014f0fd7b9aef0481f2764
MD5 6dc90cd827beee178011fb8d0ce57ca4
BLAKE2b-256 47fb6ede30381d064824096087aeb2bd87722d2fa570a1ed75ec9f2981393751

See more details on using hashes here.

File details

Details for the file angr-9.2.15-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.2.15-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 387346fa8e13b57c6e3804b8a5794521d424d7c558e4553f6a9860c15420826d
MD5 607316c93e87ac1bf79d9f526c234f9f
BLAKE2b-256 6b20cb1d927c7bb748de68a5a13bddef38cf606a07901f8ccf77d4beaea1f7d3

See more details on using hashes here.

File details

Details for the file angr-9.2.15-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.2.15-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f8eadfa529dfe3e7b97fc50a609fb062fb5c1e74053c21e05aca83e76bf4b742
MD5 ad0ca481a7432ad30dd4a92070df18bd
BLAKE2b-256 ef65d8f3aace384efa38ead8ee3e7f0c20dd396cd594ed294d9183441d63fd1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page