angr


Nameangr JSON
Version 9.2.94 PyPI version JSON
download
home_pagehttps://github.com/angr/angr
SummaryA multi-architecture binary analysis toolkit, with the ability to perform dynamic symbolic execution and various static analyses on binaries
upload_time2024-03-12 17:15:04
maintainer
docs_urlNone
author
requires_python>=3.8
licenseBSD-2-Clause
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # angr

[![Latest Release](https://img.shields.io/pypi/v/angr.svg)](https://pypi.python.org/pypi/angr/)
[![Python Version](https://img.shields.io/pypi/pyversions/angr)](https://pypi.python.org/pypi/angr/)
[![PyPI Statistics](https://img.shields.io/pypi/dm/angr.svg)](https://pypistats.org/packages/angr)
[![License](https://img.shields.io/github/license/angr/angr.svg)](https://github.com/angr/angr/blob/master/LICENSE)

angr is a platform-agnostic binary analysis framework.
It is brought to you by [the Computer Security Lab at UC Santa Barbara](https://seclab.cs.ucsb.edu), [SEFCOM at Arizona State University](https://sefcom.asu.edu), their associated CTF team, [Shellphish](https://shellphish.net), the open source community, and **[@rhelmot](https://github.com/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](https://docs.angr.io/docs/toplevel) 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.

```python
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

- [Install Instructions](https://docs.angr.io/introductory-errata/install)
- Documentation as [HTML](https://docs.angr.io/) and sources in the angr [Github repository](https://github.com/angr/angr/tree/master/docs)
- Dive right in: [top-level-accessible methods](https://docs.angr.io/core-concepts/toplevel)
- [Examples using angr to solve CTF challenges](https://docs.angr.io/examples).
- [API Reference](https://angr.io/api-doc/)
- [awesome-angr repo](https://github.com/degrigis/awesome-angr)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/angr/angr",
    "name": "angr",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/cf/4f/981ddb50b6ce55f953f5c2642ef0e9d9cd54dc23ca0d9d0cc77c535a87e2/angr-9.2.94.tar.gz",
    "platform": null,
    "description": "# angr\n\n[![Latest Release](https://img.shields.io/pypi/v/angr.svg)](https://pypi.python.org/pypi/angr/)\n[![Python Version](https://img.shields.io/pypi/pyversions/angr)](https://pypi.python.org/pypi/angr/)\n[![PyPI Statistics](https://img.shields.io/pypi/dm/angr.svg)](https://pypistats.org/packages/angr)\n[![License](https://img.shields.io/github/license/angr/angr.svg)](https://github.com/angr/angr/blob/master/LICENSE)\n\nangr is a platform-agnostic binary analysis framework.\nIt is brought to you by [the Computer Security Lab at UC Santa Barbara](https://seclab.cs.ucsb.edu), [SEFCOM at Arizona State University](https://sefcom.asu.edu), their associated CTF team, [Shellphish](https://shellphish.net), the open source community, and **[@rhelmot](https://github.com/rhelmot)**.\n\n## Project Links\nHomepage: https://angr.io\n\nProject repository: https://github.com/angr/angr\n\nDocumentation: https://docs.angr.io\n\nAPI Documentation: https://api.angr.io/en/latest/\n\n## What is angr?\n\nangr is a suite of Python 3 libraries that let you load a binary and do a lot of cool things to it:\n\n- Disassembly and intermediate-representation lifting\n- Program instrumentation\n- Symbolic execution\n- Control-flow analysis\n- Data-dependency analysis\n- Value-set analysis (VSA)\n- Decompilation\n\nThe 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](https://docs.angr.io/docs/toplevel) and their docstrings.\n\nThe short version of \"how to install angr\" is `mkvirtualenv --python=$(which python3) angr && python -m pip install angr`.\n\n## Example\n\nangr does a lot of binary analysis stuff.\nTo get you started, here's a simple example of using symbolic execution to get a flag in a CTF challenge.\n\n```python\nimport angr\n\nproject = angr.Project(\"angr-doc/examples/defcamp_r100/r100\", auto_load_libs=False)\n\n@project.hook(0x400844)\ndef print_flag(state):\n    print(\"FLAG SHOULD BE:\", state.posix.dumps(0))\n    project.terminate_execution()\n\nproject.execute()\n```\n\n# Quick Start\n\n- [Install Instructions](https://docs.angr.io/introductory-errata/install)\n- Documentation as [HTML](https://docs.angr.io/) and sources in the angr [Github repository](https://github.com/angr/angr/tree/master/docs)\n- Dive right in: [top-level-accessible methods](https://docs.angr.io/core-concepts/toplevel)\n- [Examples using angr to solve CTF challenges](https://docs.angr.io/examples).\n- [API Reference](https://angr.io/api-doc/)\n- [awesome-angr repo](https://github.com/degrigis/awesome-angr)\n",
    "bugtrack_url": null,
    "license": "BSD-2-Clause",
    "summary": "A multi-architecture binary analysis toolkit, with the ability to perform dynamic symbolic execution and various static analyses on binaries",
    "version": "9.2.94",
    "project_urls": {
        "Homepage": "https://github.com/angr/angr"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "94481ded7ea6723f4638d317e751723a722e610b6a8db9987098a9b0e55eb442",
                "md5": "988e0c5016b70e2e0e148e7bf1842870",
                "sha256": "daec25a1b23e9585499de2b43a4811be195be38009f021c4a52b570aaf2100ed"
            },
            "downloads": -1,
            "filename": "angr-9.2.94-py3-none-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "988e0c5016b70e2e0e148e7bf1842870",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 9418853,
            "upload_time": "2024-03-12T17:12:59",
            "upload_time_iso_8601": "2024-03-12T17:12:59.491543Z",
            "url": "https://files.pythonhosted.org/packages/94/48/1ded7ea6723f4638d317e751723a722e610b6a8db9987098a9b0e55eb442/angr-9.2.94-py3-none-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0d53ce628a56bf0929cbe38d9f916c04e6e0a88aa2abd1c273226f1bd5d3414a",
                "md5": "6206d743c96bae5a281da8268294cbb4",
                "sha256": "7fbbd73f3c7ff63cef2b9a9102f189abd2d1296f11d778965e346ce583bbdc34"
            },
            "downloads": -1,
            "filename": "angr-9.2.94-py3-none-manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6206d743c96bae5a281da8268294cbb4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 11366097,
            "upload_time": "2024-03-12T17:13:04",
            "upload_time_iso_8601": "2024-03-12T17:13:04.329234Z",
            "url": "https://files.pythonhosted.org/packages/0d/53/ce628a56bf0929cbe38d9f916c04e6e0a88aa2abd1c273226f1bd5d3414a/angr-9.2.94-py3-none-manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f5334a8881a3e234bf477451e5682e53792014ec34d67b10ff0358d67efd21bd",
                "md5": "eb3c38e31e3d83b6c6e9cde5869626a6",
                "sha256": "fc978a1d386c891fe1b6d70d8c2b1485debc2932059699b130174bf3c12fcea4"
            },
            "downloads": -1,
            "filename": "angr-9.2.94-py3-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "eb3c38e31e3d83b6c6e9cde5869626a6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 8964714,
            "upload_time": "2024-03-12T17:13:08",
            "upload_time_iso_8601": "2024-03-12T17:13:08.046698Z",
            "url": "https://files.pythonhosted.org/packages/f5/33/4a8881a3e234bf477451e5682e53792014ec34d67b10ff0358d67efd21bd/angr-9.2.94-py3-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cf4f981ddb50b6ce55f953f5c2642ef0e9d9cd54dc23ca0d9d0cc77c535a87e2",
                "md5": "e5b3d3b9b59bcce8a3103aeac7685b2c",
                "sha256": "364cb5a9aee56ae2d4a7cf0fa8124e26a1b557e69ca4632d30d5db0ce9ce9646"
            },
            "downloads": -1,
            "filename": "angr-9.2.94.tar.gz",
            "has_sig": false,
            "md5_digest": "e5b3d3b9b59bcce8a3103aeac7685b2c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 2966787,
            "upload_time": "2024-03-12T17:15:04",
            "upload_time_iso_8601": "2024-03-12T17:15:04.511816Z",
            "url": "https://files.pythonhosted.org/packages/cf/4f/981ddb50b6ce55f953f5c2642ef0e9d9cd54dc23ca0d9d0cc77c535a87e2/angr-9.2.94.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-12 17:15:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "angr",
    "github_project": "angr",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "angr"
}
        
Elapsed time: 0.21819s