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.217.tar.gz (15.0 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.217-cp314-cp314-win_amd64.whl (18.8 MB view details)

Uploaded CPython 3.14Windows x86-64

angr-9.2.217-cp314-cp314-musllinux_1_2_x86_64.whl (20.8 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

angr-9.2.217-cp314-cp314-musllinux_1_2_aarch64.whl (20.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

angr-9.2.217-cp314-cp314-manylinux_2_28_x86_64.whl (19.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

angr-9.2.217-cp314-cp314-manylinux_2_28_aarch64.whl (19.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

angr-9.2.217-cp314-cp314-macosx_11_0_arm64.whl (18.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

angr-9.2.217-cp313-cp313-win_amd64.whl (18.9 MB view details)

Uploaded CPython 3.13Windows x86-64

angr-9.2.217-cp313-cp313-manylinux_2_28_x86_64.whl (19.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

angr-9.2.217-cp313-cp313-manylinux_2_28_aarch64.whl (19.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

angr-9.2.217-cp313-cp313-macosx_11_0_arm64.whl (18.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

angr-9.2.217-cp312-cp312-win_amd64.whl (18.9 MB view details)

Uploaded CPython 3.12Windows x86-64

angr-9.2.217-cp312-cp312-manylinux_2_28_x86_64.whl (19.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

angr-9.2.217-cp312-cp312-manylinux_2_28_aarch64.whl (19.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

angr-9.2.217-cp312-cp312-macosx_11_0_arm64.whl (18.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: angr-9.2.217.tar.gz
  • Upload date:
  • Size: 15.0 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.217.tar.gz
Algorithm Hash digest
SHA256 dd9edeffd6ec36068ab955fa2ce2398950efc2a6b60cbb3651502b3bf7638464
MD5 d3585d17e98b38d4d3241e5b48e1feca
BLAKE2b-256 f2b8eb378c80436357a91c785f4057c919897eece984d1581316aeba8d0f2a3e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: angr-9.2.217-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 18.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.217-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 df15dcf35a727392d9daefc7fc6516f668179f35533221c8021a5e74d0c6ab03
MD5 70462a61383c18210dd2a9874434e3f8
BLAKE2b-256 916f77ffbc1ac3628b2d26b8eb5410b26104140d851ac9d3c5cfa1f8f0081ae0

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.217-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.217-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.2.217-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1251afb71a51c53dba7be0c3348edac72da6c9445d6ec388a66ebecda9a0f701
MD5 45086ad4fcbf7e93a463ea105686bd09
BLAKE2b-256 e206543f7a415ffec2561a2349daf5ac7b37e211ddc2327b9790011036131a0d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.217-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 00d7aa6274b044347274db94053156c77d1455a5f68da96ab905a9fc660cedf2
MD5 c58fb3d94611248f64fa13061305e905
BLAKE2b-256 74396cd0e786428cab272469abc318052cec43d7553f36cc836e7067229ec886

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.217-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.217-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.2.217-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d9d35fd9fba8ebfc9e49618ede8cd9cae2827c68d2f724b5882b901892394ba2
MD5 f743cb983b03bd7777efab5e4f54d759
BLAKE2b-256 fc462ef184687af94cdc0b20120d4dcef70777821846eca31d2c984d05d99e33

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.217-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b9a4a94e9bd2d6fd13681ba3a6a993a91dcb7d6f78156edb56947f29a6e907bd
MD5 44d8e7349bfb77653f728dd21f0ddf45
BLAKE2b-256 92aea1f54f543cceac9f6b1eeba480f99791e677207c418059ed92ed4bd64fc7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.217-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aabce086890cdbcb09bec19599943c02d3edcbecad0ef53ccda463298146b66b
MD5 679eb5695dcf647d6770bca4c14a4a0f
BLAKE2b-256 634ca5cc97ff4a030ab72efa23f137e442aa0e1bb635dee4cf5dc8718c22b54d

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.217-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.217-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: angr-9.2.217-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 18.9 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.217-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 116353593af782b3b555433012b0973c758d539a362bd8ea05a7dc4f22c5211d
MD5 c84963297d557da6e64ab403db3314ee
BLAKE2b-256 535d682f1646aafe6bb2f11ff4c0811a3d01484f8ab5507774ac2eaeeb6f6296

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.217-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.217-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.2.217-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b6fe767cc849d14867fcb2f8ab1f65c99c3bcaffa168bebfb657ba359104906b
MD5 a4c61514b74550d7113eee6a671fc822
BLAKE2b-256 bc773cd2daf7f0671b178957095b70d034c061477d2dededc5b616cdd5847369

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.217-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 677b1fe20bafc677f5144205858cf7744d5148e7e775750a3326f761c1e478c8
MD5 5fb4562864fecc8cb8410f8769e8afcf
BLAKE2b-256 f1c40d32ad2f2e13fc3e6835ca4cf693fd40c5369d9f0a9aa870510f3057e391

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.217-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.217-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for angr-9.2.217-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42862416409da325dc8917fbeac3505e9482c17a78b958a8dede94dda83005e9
MD5 2982e724a4390a317bf169334861b426
BLAKE2b-256 53605724c2ef6c1e3663f05772ffd0490e432b1df4f3ff44dd9c580bbb0cd9cc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: angr-9.2.217-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 18.9 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.217-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 894a98c19d970af00a7362a15cb75cfa3f98d3bd0ac2c1156804b1af3ec1eaef
MD5 32dcf52b9022bb3780663d780fe76fd9
BLAKE2b-256 48f6084317874f57062feccd628d67af2a407a01037064bc8aa1b1c838cbbc82

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.217-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 10d2e51fe6e7124eae009b1a513b9ebc26dba83e68d4df72a4a27dcc63de5213
MD5 cafcd783993c922faffbb04ec083dc08
BLAKE2b-256 d8a3da863e35e7ebf7c8bc9050e55e2f633f76de510df6304e7cf3d311a1ac9f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.217-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 40bc445465e51e2eafde19128075aa215ed4da34eca469c99356ed78398593cd
MD5 335e08b670c5c46c61d321dc04cd6527
BLAKE2b-256 a411e39495fdba2173221f09c8aca41c2cc15768ee5dfb227f8fb6a627b83971

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.217-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 450f09b85e46acf2f6028047d6506987b0d6e16421e8f6306cd999b56cc8c434
MD5 54ebf454ff3e6a81d02367adb115e47a
BLAKE2b-256 721026d961e3335ef21cd2e28ede726bdd9a288c09e33760e26acb32bde83231

See more details on using hashes here.

Provenance

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