angr

Malware Analysis & Forensics v9.3.0 · 15.07.2026 активный

Платформа для бинарного анализа на базе символьного исполнения: способна автоматически найти входные данные, которые проведут программу по заданному пути кода (например, к "Access Granted" без знания пароля), без запуска реального эксплойта. Используется в CTF, реверс-инжиниринге малвари и академических исследованиях уязвимостей.

v9.3.0
15.07.2026 current
Добавлен 27.07.2026 · Обновлён 27.07.2026 · Malware Analysis & Forensics
Установка
python3 -m venv angr-env && source angr-env/bin/activate
pip install angr

python3 -c "
import angr
proj = angr.Project('/path/to/binary', auto_load_libs=False)
state = proj.factory.entry_state()
simgr = proj.factory.simulation_manager(state)
simgr.explore(find=lambda s: b'Success' in s.posix.dumps(1))
print(simgr.found[0].posix.dumps(0))
"
переведено ИИ

angr

Последний релиз Версия Python Статистика PyPI Лицензия

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, вы можете использовать автодополнение по Tab для просмотра доступных методов верхнего уровня и их документации.

Краткая версия «как установить 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()

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

Комментарии
Войдите, чтобы оставить комментарий