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://api.angr.io/en/latest/

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.129.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

angr-9.2.129-py3-none-win_amd64.whl (9.2 MB view details)

Uploaded Python 3 Windows x86-64

angr-9.2.129-py3-none-manylinux2014_x86_64.whl (11.6 MB view details)

Uploaded Python 3

angr-9.2.129-py3-none-manylinux2014_aarch64.whl (11.1 MB view details)

Uploaded Python 3

angr-9.2.129-py3-none-macosx_11_0_arm64.whl (8.7 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

angr-9.2.129-py3-none-macosx_10_9_x86_64.whl (9.7 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: angr-9.2.129.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for angr-9.2.129.tar.gz
Algorithm Hash digest
SHA256 c8528148482908e44076d6610e675948fcad6da549d2bf0120fd8103143cbdeb
MD5 fd6832f0f12080af547f3a837c249877
BLAKE2b-256 99795a3f4e101458d6f4d5880e6394ac224494e3a24c5af7865ddcd2414811c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.129.tar.gz:

Publisher: angr-release.yml on angr/ci-settings

Attestations:

File details

Details for the file angr-9.2.129-py3-none-win_amd64.whl.

File metadata

  • Download URL: angr-9.2.129-py3-none-win_amd64.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for angr-9.2.129-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c936db6115f6dcb7df58bd5706a147161940749087c43089a2abec1d25a3ef9d
MD5 d10381c3c39c73bbbf5d038ec6c78e53
BLAKE2b-256 f15776a0b8ed58199026a57e80e6a9f0afc5f6d4eb160bad36e997b0979d5a62

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.129-py3-none-win_amd64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations:

File details

Details for the file angr-9.2.129-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.2.129-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e75a1842406eb92621e8107d84e8109757e827ef2d66af523bac511c7b3842f
MD5 607629b37f07bf9fb9691a71ad82e4c5
BLAKE2b-256 3a06e22b9018adccc96a62739ece1221899686dc7c3504c74a71becef7e12a09

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.129-py3-none-manylinux2014_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations:

File details

Details for the file angr-9.2.129-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for angr-9.2.129-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 73f7a16ed3be8c991904b52fe579eb92bf6228bfde15a1d7e1ba8ab7d1af75f6
MD5 2402762349010bad710a7364ae921a80
BLAKE2b-256 17d688f083d70002aece2f94aa4873657212fd7cb97e6d6e50c31c04928a7556

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.129-py3-none-manylinux2014_aarch64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations:

File details

Details for the file angr-9.2.129-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for angr-9.2.129-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ecc7765ecc10a4667e7bb38f2d744f05a0a0d762e98c4c565323badc4fa0f700
MD5 2883e1bd517a82334f53c6f69ada873e
BLAKE2b-256 1f9d88ee139213e15f92807faa424c8f07dc9144043b2bc78d7276daca9d3904

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.129-py3-none-macosx_11_0_arm64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations:

File details

Details for the file angr-9.2.129-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for angr-9.2.129-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ed3128e2c5fc5250269cf1facb4cff2f8e1ad2bcd101a9cfbad0403766bf4043
MD5 d49e4487a4c40779661f5d0675814585
BLAKE2b-256 2bd5fdd4762cf31a50597cfa6195409ed805f417127c90b48f91d239e977a2cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for angr-9.2.129-py3-none-macosx_10_9_x86_64.whl:

Publisher: angr-release.yml on angr/ci-settings

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page