Назад к обновлениям
New releaseJul 21, 2026

angr v9.3.0

Мощная и удобная платформа для анализа бинарных файлов!

Поделиться

angr

Latest Release Python Version PyPI Statistics License

angr — это платформенно-независимый фреймворк для анализа бинарных файлов. Он создан лабораторией компьютерной безопасности Калифорнийского университета в Санта-Барбаре, SEFCOM в Университете штата Аризона, их командой CTF, Shellphish, сообществом открытого кода и @rhelmot.

Ссылки на проект

Домашняя страница: https://angr.io

Репозиторий проекта: https://github.com/angr/angr

Документация: https://docs.angr.io

API документация: https://docs.angr.io/en/latest/api.html

Что такое angr?

angr — это набор библиотек Python 3, которые позволяют загрузить бинарный файл и делать с ним множество интересных вещей:

  • Дизассемблирование и поднятие до промежуточного представления
  • Инструментирование программ
  • Символическое выполнение
  • Анализ потока управления
  • Анализ зависимостей данных
  • Анализ множества значений (VSA)
  • Декомпиляция

Самая распространённая операция angr — загрузка бинарного файла: p = angr.Project('/bin/bash'). Если сделать это в улучшенной REPL, например IPython, можно использовать автодополнение по табуляции для просмотра методов, доступных на верхнем уровне, и их строк документации.

Краткая версия «как установить angr»: mkvirtualenv --python=$(which python3) angr && python -m pip install angr.

Пример

angr выполняет много задач по анализу бинарных файлов. Для начала приведём простой пример использования символического выполнения для получения флага в задании CTF.

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()

Быстрый старт

Категории