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.222.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.222-cp312-abi3-win_amd64.whl (5.5 MB view details)

Uploaded CPython 3.12+Windows x86-64

angr-9.2.222-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.222-cp312-abi3-musllinux_1_2_aarch64.whl (6.7 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ ARM64

angr-9.2.222-cp312-abi3-manylinux_2_28_x86_64.whl (6.2 MB view details)

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

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

Uploaded CPython 3.12+manylinux: glibc 2.28+ ARM64

angr-9.2.222-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.222.tar.gz.

File metadata

  • Download URL: angr-9.2.222.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.222.tar.gz
Algorithm Hash digest
SHA256 630a754647e2c9d41bebff82212e4a8046854e815f6d0f02e3037b84b2efa4b4
MD5 655ddcfd3ef8dd213808b2d6b34fb09e
BLAKE2b-256 def6b79bff889ce2eebafc4554e6db48e11a07a3fa21e315301f9f58b3488ac9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: angr-9.2.222-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.222-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0ef5171fa8e1c26c1c9a841e824b6e2ee2d2d46507c4c4d0e796c04536e74a24
MD5 05f612dca1e87a370df6e1b3977fe284
BLAKE2b-256 16b6542eada79f072df686931a543e94ff8c729f0d8a1ef77591ba95ad9399e2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.222-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fd417cc9d04750a21cd558f71428fdb3d2a67cf09680eb0d95b079e5cb9f406a
MD5 c99d29b31bf9c6791f5b8b3740a0cbea
BLAKE2b-256 631b509d42de9e3bd9f15d5f51ee0a0dad55c7260ce5e97e5b693fb740011f59

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.222-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 742f39324cf38088cb369df7ba1715ec992897ac0f86ddcdc168e1fd0ad60817
MD5 34cd1100451e49d834d21a6e2ff4484c
BLAKE2b-256 3aa1d18701f7a359caaf70b461332d97da496ba9e9c9fff90135ce4218cd9dff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.222-cp312-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c648d3c29389d0fae7524ad8460ef6b1ce9e689cb0955001af19059c65580d16
MD5 f8d4b99f95b7a6f52dfa56f520c0b292
BLAKE2b-256 c128d329b4e17a209182ee03bf854a088b5ffaff5b04e46fa7dcb69f4d314f26

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.222-cp312-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f123f837daa4bab685fe4d879a393f0a0e606653a1f1f578d18de9ffa6f6a39d
MD5 8cd7f0eb01e88a3f9183e84badb5162b
BLAKE2b-256 5a81b701aff160327967a3c6e39eb9545b34d268f920d763d2f00ce29a9b7558

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for angr-9.2.222-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc8e3866bb93a2ece03a75f845b6a3cef2fe4e6439bd357db183905c2f013908
MD5 d9430e2225f4299d779c9ef051280ceb
BLAKE2b-256 8da8a4bbf3ced94ce3ab44677507da59ac127b91575fd9595885c1b4bc2df9d8

See more details on using hashes here.

Provenance

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