Skip to main content

|

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

This version

9.2.2

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.2.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.2-py3-none-win_amd64.whl (2.9 MB view details)

Uploaded Python 3Windows x86-64

angr-9.2.2-py3-none-manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded Python 3

angr-9.2.2-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.2.tar.gz.

File metadata

  • Download URL: angr-9.2.2.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for angr-9.2.2.tar.gz
Algorithm Hash digest
SHA256 ba6f31d282a824ee0750751122aedcb5c3e4f2c3f6fc54f8fdfa0ae2acc42129
MD5 89dba9564231ba1c4a491d31269be183
BLAKE2b-256 ca33c39e8b004c96b8841657e9341dcde2457e5bb1c84147332247ce3f8c4320

See more details on using hashes here.

File details

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

File metadata

  • Download URL: angr-9.2.2-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/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for angr-9.2.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 77e70e449d167814f6c815d7d958ae729b409a82c835d6afee7d3bcfc79a1e7f
MD5 235b6c6e910325614ecc78095f255303
BLAKE2b-256 23e1bac0a9767e684595090f30470cf4cf4abba7c6f37659ec2876eaa0dbea2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: angr-9.2.2-py3-none-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for angr-9.2.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 379ca495cfc3adcb065ebd71fa23a88869f4b927535a18bf5284efce33a9c45a
MD5 c5983a035a1c4ac9d54fc2b35c4fa88b
BLAKE2b-256 44199013698e25baa040d651b5658c3e05b770f800e47c090b6f12f32f99e1c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: angr-9.2.2-py3-none-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for angr-9.2.2-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4d3ef10f63d81f77cf03aafc202284c7d81c43fe5d756a40b07ae3c2a480cbda
MD5 fcd41ed3ef5b9ee1c2c76c04f5f53a4d
BLAKE2b-256 ff7c2897d175aa628abc15ee1850bad0723a80ac760baaff1e78cd2985462313

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