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 Python Version PyPI Statistics License

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.

Project Links

Homepage: https://angr.io

Project repository: https://github.com/angr/angr

Documentation: https://docs.angr.io

API Documentation: https://docs.angr.io/en/latest/api.html

What is angr?

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.3.0.tar.gz (2.3 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.3.0-cp312-abi3-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.12+Windows x86-64

angr-9.3.0-cp312-abi3-musllinux_1_2_x86_64.whl (8.7 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ x86-64

angr-9.3.0-cp312-abi3-musllinux_1_2_aarch64.whl (8.1 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ ARM64

angr-9.3.0-cp312-abi3-manylinux_2_28_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.28+ x86-64

angr-9.3.0-cp312-abi3-manylinux_2_28_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.28+ ARM64

angr-9.3.0-cp312-abi3-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: angr-9.3.0.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for angr-9.3.0.tar.gz
Algorithm Hash digest
SHA256 4275816ccefecda180e4ffba54de616a6b6011c743fec7b57ef382a2a5e652cb
MD5 f9c351be3ca836cb6995609eb6e78aec
BLAKE2b-256 7058193c9382451d0865ffb87b014e7a2c2a30bd3498f353b66f370da726e657

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.0.tar.gz:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file angr-9.3.0-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: angr-9.3.0-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 6.6 MB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for angr-9.3.0-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 880a197ee943f95a6aa1ce98dd8b51313bfa1b8e0f6846104c15b60ce22fd817
MD5 f77347af856f0816f08437e44b71760f
BLAKE2b-256 cbaa155793fa072f9f39a85807b73be9db528f4a5361607c16cf05bc0be49908

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.0-cp312-abi3-win_amd64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file angr-9.3.0-cp312-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: angr-9.3.0-cp312-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 8.7 MB
  • Tags: CPython 3.12+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for angr-9.3.0-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b33e199eb94797baa30f0ab9edd58b00a7cbb21dca1d99c85b54877ce9337eed
MD5 8cd885389206fd848460b359dda8c01e
BLAKE2b-256 86b8754b087ed1b3196644a0a6181265f76e4579aeb8eba90a7d7aafe31194ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.0-cp312-abi3-musllinux_1_2_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file angr-9.3.0-cp312-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for angr-9.3.0-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3722762648660d5e222044ca67ccf964cab240063a5242bc38c1ddaa6842f9de
MD5 8ed0d0320408c92daf4050d2c67590a8
BLAKE2b-256 b575b8eb240266936d9f01566a3b3423335b0e6730907b6b6ad6b66de77205c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.0-cp312-abi3-musllinux_1_2_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file angr-9.3.0-cp312-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.3.0-cp312-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b1d3b9522b580f6729654e36d77bfcf3dfe5583adfac70d8e5721a489e0b057
MD5 cb72e4069e5b0f2522f407c38392e3b3
BLAKE2b-256 2e3777742dd9244f93daca3cc4c209258ea033b42974ba2bfe8ef3578daecaaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.0-cp312-abi3-manylinux_2_28_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file angr-9.3.0-cp312-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for angr-9.3.0-cp312-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b726e3151c073d300e35f4ee82bd6da95b45e8a7a1db57356c52e8e597479f4e
MD5 660ebedd65b972b3c85db5be8f29588f
BLAKE2b-256 e1a5d9aa925850efa769bcc027e2b77aea206ccb1301b53011bd79ebec9b8a0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.0-cp312-abi3-manylinux_2_28_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file angr-9.3.0-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: angr-9.3.0-cp312-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 6.6 MB
  • Tags: CPython 3.12+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for angr-9.3.0-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a4e12a49023aca53e258735abceb2c8327ed44b602572a81726862b1a0f36728
MD5 c2c6d623c7f6269e99dc32b0393137fb
BLAKE2b-256 faf3c7d7da6847a02f40ca2b97232dabb96001b62f5e22bc0330614931b4b7f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.0-cp312-abi3-macosx_11_0_arm64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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