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.2.223.tar.gz (2.2 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.223-cp312-abi3-win_amd64.whl (5.5 MB view details)

Uploaded CPython 3.12+Windows x86-64

angr-9.2.223-cp312-abi3-musllinux_1_2_x86_64.whl (7.4 MB view details)

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

angr-9.2.223-cp312-abi3-musllinux_1_2_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ ARM64

angr-9.2.223-cp312-abi3-manylinux_2_28_x86_64.whl (6.3 MB view details)

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

angr-9.2.223-cp312-abi3-manylinux_2_28_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.28+ ARM64

angr-9.2.223-cp312-abi3-macosx_11_0_arm64.whl (5.4 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for angr-9.2.223.tar.gz
Algorithm Hash digest
SHA256 257ee92f2b1c7adb5e9cea90eba401d22f8a06d83a4989e42cb43b929fe27be0
MD5 8566c733192e5870c42257ff082b2ba3
BLAKE2b-256 e121c4278b0bde0d2fa56fac0ad21ff5365a641d9d83c120a3872243caaf545c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: angr-9.2.223-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 5.5 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.2.223-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 64f9cceee1619d75716b4b2ef93bac4d4cd98fce641c2e98747eed4a93a8c29c
MD5 06dbe2559455e342223eab1991264bff
BLAKE2b-256 b7510f1e29b075d1fd5396e02a2e52b0aa634967891f28357692121a5aca6525

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.223-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0c162acd0154e792da0e6b49e3b1eb1f5af15d2bf9fcf4fffd853e05f1a24e95
MD5 a1eb2570aab4ee29deddd78f0cece347
BLAKE2b-256 279d6d141d72bef64086b8dd0f4c9cb49d0a85c3fc65a7fef121fbecb153dbb3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.223-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8c3f3a9e4fd53384021bc9bc8690e29263282322d1dc1669d6b262db4917d884
MD5 1185b40e62f7e700a05e834394defa57
BLAKE2b-256 fb44ca23031107791233f493fdb062f6874eacde78baf477221fba61c8cbd88d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.223-cp312-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6fd8a757f6ac939ac3f3232f21fbeaf7658c4499afdc684662466dcbedd721b9
MD5 3f53c3fbf8436e01220d550ed9080202
BLAKE2b-256 d1da53ba74cfdc96f726fab1b6e5839214a9475b42f37b6ecc91c4283f3ebaef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.223-cp312-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0d5d8241f906a6089209d8e8260dbf1242921c2600bd407dcf492bcc3f1814e5
MD5 9b008bf1b97b76fef6f46d20e9a3e800
BLAKE2b-256 8cd775c2ec7bfb181e28eb9d258f3894ccf500afa2188b82bb172d0dd7bd99f1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.223-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d957ef9385caf56ffb99f95dbd395a99aa8c67da232609d885ac7f7a2bb35536
MD5 63494854c43213f1637263e0e6ab5de7
BLAKE2b-256 0fef928e6cd151179a96216bb327363a9d3885efb1c27dda93776d307aaf0f1c

See more details on using hashes here.

Provenance

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