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.215.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.215-cp314-cp314-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.14Windows x86-64

angr-9.2.215-cp314-cp314-musllinux_1_2_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

angr-9.2.215-cp314-cp314-manylinux_2_28_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

angr-9.2.215-cp313-cp313-manylinux_2_28_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

angr-9.2.215-cp312-cp312-manylinux_2_28_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

angr-9.2.215-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.215.tar.gz.

File metadata

  • Download URL: angr-9.2.215.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.215.tar.gz
Algorithm Hash digest
SHA256 9800c7d34587db11cc17a2e99d38fa15f5d205b0b6499dc5c006ec06b4bb57f8
MD5 9da5527ba0fc92e027e5f3d38a6eeb09
BLAKE2b-256 a35c4ad2d6a929da25103e417c4dd7d8e5fd506c5da44e12027f887c7618fd34

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: angr-9.2.215-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.215-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 84e8d64624e65c6bb28df83369012c5461c4e6bbd7eb964ef278793c0a2d6fc7
MD5 562e5326dac45537148c47a50cae6b05
BLAKE2b-256 4c7f3ef7176766a4c77cde237e1086a9f477d2c947ac6d649ae4215a472a2a0a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1343ee099e85c2c7269460edf62234244031d450f9a13b46abe7f14cf309ab27
MD5 0fdd86586b1325d45bcab6b06c7c5bc7
BLAKE2b-256 e8db231c0f977a20c3324a5bf3b2795bf339b6d240bb66f3e7aad4fb845a5bd3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ddfb895ab76a92c0a299395308a6f3bea43f893ece4f321d2711ddae42f35129
MD5 dd70ce3925e088bdf7662e4f1b0c677f
BLAKE2b-256 868a135fde68f920b2ba2c1ea2ce586c5f3fc503801400bc56f40e471a686365

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3ceb5fa70410f00321f5763b100ba1dfe7eeb44dd980143d5a624615ce553774
MD5 7b25e7927fcaa2b578337f8869a05b35
BLAKE2b-256 07e651c2eaceb09abbf9a425d3d393636ec77c43d9b78a652812fe52d5fb00c1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1d078faead5aa96226fde98bd05cb1adecc7feaa79a566649083b19e9cc9d297
MD5 a9b6541291e57475950b4b10ac7e9f01
BLAKE2b-256 36bd22fcc4bbc1a53b5885a9f5bdc1f39f944e4044375f3b447326bf3c41bf12

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fc83016fb1042cd27a945c47fabe12ec67a25deece0314e060f44c04a2f2bf6f
MD5 8dc9c04b478cd7e0b863f5094163cad3
BLAKE2b-256 185cadf65049eed4bcf98f183b56d390b4330e00801dea8ccb0d0baa6a597761

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: angr-9.2.215-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.215-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ac30fa42338446c3a90848d36679aea96479c9a3810a1242229c75712d8ca73b
MD5 126d176fa8748af92757f0fbe43ed187
BLAKE2b-256 a0272c3bb4fe1d7f77bd9d1386e0453f496727dfd157e70a3214c3923dcdc915

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 03439c3a82ca22227df268f9b99f654d91aa6ef82db60b493ff5b0d422eefb58
MD5 186a1ea75434b4a940f9298af5682b57
BLAKE2b-256 a63a843883c716dfad6df060aa564db0c4729d893da6b71a10caa43f3941647a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b62d8654940a6e3f0895ccaebaae4626b42ccd591fc1eaecf3ca943183c319bb
MD5 d55bc112c31b619044fe1779511de70b
BLAKE2b-256 e00d8df09dc4e9dc8b37100d6088ab0347598ba5b3c98da19481139d1110e1f1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c1625eff79ec1153bda3329a332cda7bb41c54e94682b3e71322d38ebdc8a4db
MD5 03b50ac142ab266f32e851683cd6f068
BLAKE2b-256 b90cb3ae6a6f6f53a579ba8968de189ab000d76021ff7c6a6c2322608f55c750

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: angr-9.2.215-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.215-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 de01886c8c0f506f982a50b8ee779929353fbc5401b1c5f50eeaa85e5f31520f
MD5 9c2f68d68c404dd17e56db02a7b6ff53
BLAKE2b-256 b15f7f9c31e50034593925a449581116770427f1d56718227cdd6a79414bd728

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1a7126ac8cd7b5d6e31b06201be04eacf6fecedf937ba350802f73042ab2b5ea
MD5 21d2a38491681708037555070cae6180
BLAKE2b-256 2f42e1925ee30d21154ad8a808c99a820a578718c1fac1350edc7401bdef98b3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9f049abf15dfa5dd19ef311137cfb5bd05cb58315e0c1b6b3a2f3845630fdf06
MD5 eff27833809f87209abb430fbb1481f3
BLAKE2b-256 70100c18898cea5b85860c1d22de5fb3bc53938d1d53774064e5b38cd9a18b6d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.215-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68f550e6565d33334a55305a0267c219f63e39c15bea654a66608da56c7bebae
MD5 0d64858dbf89b0c256188989d435b9a6
BLAKE2b-256 f1dc5847017ec460ac989f0d78aca8bfb2ccf7ca225bdf429d29eb53d8cced5f

See more details on using hashes here.

Provenance

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