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.214.tar.gz (4.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.214-cp314-cp314-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.14Windows x86-64

angr-9.2.214-cp314-cp314-musllinux_1_2_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

angr-9.2.214-cp314-cp314-manylinux_2_28_aarch64.whl (8.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

angr-9.2.214-cp314-cp314-macosx_11_0_arm64.whl (7.6 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

angr-9.2.214-cp313-cp313-win_amd64.whl (7.7 MB view details)

Uploaded CPython 3.13Windows x86-64

angr-9.2.214-cp313-cp313-manylinux_2_28_aarch64.whl (8.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

angr-9.2.214-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

angr-9.2.214-cp313-cp313-macosx_11_0_arm64.whl (7.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

angr-9.2.214-cp312-cp312-win_amd64.whl (7.7 MB view details)

Uploaded CPython 3.12Windows x86-64

angr-9.2.214-cp312-cp312-manylinux_2_28_aarch64.whl (8.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

angr-9.2.214-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

angr-9.2.214-cp312-cp312-macosx_11_0_arm64.whl (7.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: angr-9.2.214.tar.gz
  • Upload date:
  • Size: 4.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.214.tar.gz
Algorithm Hash digest
SHA256 ba6080bfd1b1cf5fcb34508c6d5e174aae4f82416c25dc28748dc8e5426d8915
MD5 f1f77ca3ef8149b87261116c3df04cdc
BLAKE2b-256 e8b3f29c2b561214f62b5df5e14b77a475b5a2e454ca461f7115f49f8244e479

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.214.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.214-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: angr-9.2.214-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 7.8 MB
  • Tags: CPython 3.14, 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.214-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c94f4a1cb158c52e52f4c0db46dc6170afc720c08cf9f6b8f1661f3c01149749
MD5 577e1c692d811c9b28189afb88311a7e
BLAKE2b-256 58410dec4e458adcfe9c0006236522454c511e12aed1411126f799d3ba6dd74f

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.214-cp314-cp314-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.214-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for angr-9.2.214-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 572086a94f277b9ef2edf464551528feda70e4642c86e42fd7a4701357bdf8d6
MD5 0d8b1ef3b3c5f267b7e5c9b5a3a58e9f
BLAKE2b-256 ebbea67d0a7d3f8f4908311d153827cade3968c23c0f4b858521dc4ec7eecb06

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.214-cp314-cp314-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.214-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for angr-9.2.214-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 85ee833c4fbe8c4f8b5130bd96e972db4c2ee145b8e18e34eff398185093eec1
MD5 84359c2f4d47ccf2295a4fbc370747af
BLAKE2b-256 e8db993a6143a959de1dd16074429f0d392e3e1b60a1c5b62c7c3322830e3101

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.214-cp314-cp314-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.214-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for angr-9.2.214-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0a6bec55c149f29ba3d276f0fe14ba60547c7b434e7e205f409bb8572866dba
MD5 2ba5a01a3216d80037cc3a98a1e84dbf
BLAKE2b-256 951770954c34af7e981ddda1f46e88163937da5a1ec72739453816eb0ae28666

See more details on using hashes here.

Provenance

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

File details

Details for the file angr-9.2.214-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: angr-9.2.214-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 7.7 MB
  • Tags: CPython 3.13, 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.214-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e21c034118694575e86c4c138a099c7df81334d83bf1d4aa2c8d11962a092d63
MD5 ebd5fe1021ebe4459ceee63995059c3f
BLAKE2b-256 a52d6f5b650266f81affb795051c6967d10d4c6010d8cf4a0edc05949d79452f

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.214-cp313-cp313-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.214-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for angr-9.2.214-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fe66b91a5679edb8afdce152efa2fa8adb46ee4bbdd77facfe2af5c3d7bd0fdf
MD5 3e20f0aef863898cf039b12b009d60af
BLAKE2b-256 82163c9c5ffb91e92047c16e3d6a6060ad520bfac429414c9464edbc327ace8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.214-cp313-cp313-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.214-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.2.214-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd1cdb54db77e550f5ae84a1f01dea59e696961ef676af1723081d3462ed3939
MD5 d4b9c722641086be4485c3cff238caa4
BLAKE2b-256 9a063b0bae8aed653c089b2c0d709aa341781871ec4796b97c1de703820e80a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.214-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_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.214-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for angr-9.2.214-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08a4f7734d9a1f965b28c31e902d9b2a23c132b2edcfe8c5b245a00bcbde774e
MD5 be8f20522468c32ab20e62ea1c229c96
BLAKE2b-256 c1bcd17278ce1291423e30a63027d0369905e0a87dbb17748a3143f7388f22e7

See more details on using hashes here.

Provenance

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

File details

Details for the file angr-9.2.214-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: angr-9.2.214-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 7.7 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.214-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ea50273eba3b68a66696b9dcce91ed386f973f86a8abcbd7f89a66a938a71fd3
MD5 4001b2d028f4e00b5f389feaebab8d39
BLAKE2b-256 0cbc1fe4540d99432c2a52a19c1521f85dbc87f652abc260f2148c50d41e7dac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.214-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 96907da96d6fd061fe195e8c4f8fc428c00b70c9868ca32230377c094cef3a6f
MD5 309245473304631a7905c4552c6deb88
BLAKE2b-256 71f6b5bc9ac454e90f65bdadf18dc24f1f5baafeef8dfa59b53be299c8777642

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.214-cp312-cp312-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.214-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.2.214-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a02927b16549bf50e36c78fde0dbccaca557e3e1d6e4d214ec29d491001ea1f3
MD5 06226f241b4b08a6881fe3d144620c2a
BLAKE2b-256 93653ae2483895f2ea73a2d16cb10647d15ba0b3617d33d44a0841afeaafc88e

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.214-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_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.214-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for angr-9.2.214-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d03ae8cd66fe3cd63e0f16aa300bf9d79d0642793e006de0b40cd8ba831b9935
MD5 fe2797acba5e37a566406c9cc32e217f
BLAKE2b-256 ff246c59c0875f648eadf34e10dcaa3636c2040ce68e17a4ce5280ced4a4e1fc

See more details on using hashes here.

Provenance

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