Zurück zum Ranking

angr/angr

Pythonangr.io

A powerful and user-friendly binary analysis platform!

binaryanalysisangrhacktoberfest
Sterne-Wachstum
Sterne
9k
Forks
1.2k
Wochenwachstum
Issues
500
5k
Aug. 2015März 2019Nov. 2022Juli 2026
ArtefaktePyPIpip install angr
README

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.

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

Ähnliche Repositories
nexe/nexe

🎉 create a single executable out of your node.js apps

TypeScriptnpmMIT Licensenexejavascript
13.6k557
wader/fq

jq for binary formats - tool, language and decoders for working with binary and text formats

GoGo ModulesOtherjqbinary
10.5k247
sindresorhus/execa

Process execution for humans

JavaScriptnpmMIT Licensenodejsspawn
7.6k260
albertan017/LLM4Decompile

Reverse Engineering: Decompiling Binary Code with Large Language Models

PythonPyPIMIT Licensedecompilereverse-engineering
aclanthology.org/2024.emnlp-main.203
6.8k535
qilingframework/qiling

A True Instrumentable Binary Emulation Framework

PythonPyPIGNU General Public License v2.0binaryemulator
qiling.io
6k789
burrowers/garble

Obfuscate Go builds

GoGo ModulesBSD 3-Clause "New" or "Revised" Licensegolangobfuscation
5.6k363
orhun/binsider

Analyze ELF binaries like a boss 😼🕵️‍♂️

Rustcrates.ioApache License 2.0analysisbinary
binsider.dev
4.3k107
fo40225/tensorflow-windows-wheel

Tensorflow prebuilt binary for Windows

PythonPyPItensorflowwindows
3.7k1.5k
joernio/joern

Open-source code analysis platform for C/C++/Java/Binary/Javascript/Python/Kotlin based on code property graphs. Discord https://discord.gg/vv4MH284Hc

ScalaApache License 2.0code-analysisquery-language
joern.io
3.3k429
bincode-org/bincode

A binary encoder / decoder implementation in Rust.

rustencoding
3.1k310
intoli/exodus

Painless relocation of Linux binaries–and all of their dependencies–without containers.

PythonPyPIOtherpythonlinux
3k76
stephenberry/glaze

Extremely fast, in memory, serialization, reflection, and RPC library for C++. JSON, BEVE, BSON, CBOR, CSV, JSONB, MessagePack, TOML, YAML, EETF

C++MIT Licenseapibinary
stephenberry.github.io/glaze/
2.9k256