Angr – мощная и удобная платформа бинарного анализа |

Angr – мощная и удобная платформа бинарного анализа

Обзоры

Angr – платформа бинарного анализа, не зависящая от платформы.

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

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

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

Наиболее распространенной операцией angr является загрузка двоичного файла: p=angr.Project(‘/bin/bash’).

Если вы делаете это в расширенном REPL, таком как IPython, вы можете использовать tab-autocomplete для просмотра доступных на верхнем уровне методов и их строки документов.

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

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

Скачать Angr

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий