Skip to main content

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

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.1.post1.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.1.post1-cp312-abi3-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.12+Windows x86-64

angr-9.3.1.post1-cp312-abi3-musllinux_1_2_x86_64.whl (8.8 MB view details)

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

angr-9.3.1.post1-cp312-abi3-musllinux_1_2_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ ARM64

angr-9.3.1.post1-cp312-abi3-manylinux_2_28_x86_64.whl (7.5 MB view details)

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

angr-9.3.1.post1-cp312-abi3-manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.28+ ARM64

angr-9.3.1.post1-cp312-abi3-macosx_11_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

File details

Details for the file angr-9.3.1.post1.tar.gz.

File metadata

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

File hashes

Hashes for angr-9.3.1.post1.tar.gz
Algorithm Hash digest
SHA256 ed695e58e1866e49ed1e7e015e1d40ac708cb0cd69856bed130dd403f8c0b04b
MD5 6330d2e7e141be2f302fa3a5b861ea81
BLAKE2b-256 59901e99e7184ee84e995c2247fa93cc86d9b5619e342e1a8a96d0ecad035863

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.1.post1.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.1.post1-cp312-abi3-win_amd64.whl.

File metadata

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

File hashes

Hashes for angr-9.3.1.post1-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f556dc1927cdd18cca782debc4cd41485a5d8d3e16a02afd1ef32eb1baf856c2
MD5 91b0b5127e27b81340278a90506872cd
BLAKE2b-256 70eadae8935b5680a42a5c59f17fdd35276c09e4fbd903380061473dfe1c75d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.1.post1-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.1.post1-cp312-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.3.1.post1-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d2dd730315664cbeb14152aeb64712f72c51ac882cc9fe33d2ee5d20e984c704
MD5 ca1becb6bb0f9843f274b53a81cf1d54
BLAKE2b-256 2022d43438862e73e57c70536ab24179b9f9532e3cab0a48f67a9f849db9fd65

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.1.post1-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.1.post1-cp312-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for angr-9.3.1.post1-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e9e0bd519ec9d5fd46e16f03e3a4fe0d493310e4ad1999064aea3a06f59586e6
MD5 9388df73d468491c58dfe42ae196f2ea
BLAKE2b-256 051ef39f1f2dc241c46a71266093710064f7192c7b9e58a19152437b2a511986

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.1.post1-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.1.post1-cp312-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.3.1.post1-cp312-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d4a06a9810a1be56a88c4e00b299da2212fcd33d522ca8c9f80ad384bf81efdf
MD5 59f8c094947886a98751b26f094c7d7d
BLAKE2b-256 33322205c29d1c3937a385431f7a5087a3ba71e58560c352cf82f7c9fc0c92a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.1.post1-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.1.post1-cp312-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for angr-9.3.1.post1-cp312-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3ab8d440bc459ac9f40e67d45adec5a4d44a3885891f3801a997d72bf6d2ce60
MD5 e64573dcda6ac401c8bf00c5d80fb92c
BLAKE2b-256 37dca9fff4c6beb498b54404ea418c987d36cfd797137cd5170d81685fe19b6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.1.post1-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.1.post1-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for angr-9.3.1.post1-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42bfa467b9667fad9433126c2a6e6827ab299e45163a4f36b840e8f6c7fc82b5
MD5 75e05fc9a423659119ff7b28257ecf8a
BLAKE2b-256 dc69c19b66a455db3bcbeac608465a6e416c1257050f8a6d7572a4bad4e557c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.3.1.post1-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.

Release history Release notifications | RSS feed

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