Binary Analysis Platform (BAP) — это платформа для обратной разработки и анализа программ, для которых недоступны их исходные коды. Поддерживается более 30 архитектур, в первую очередь x86, x86-64 и ARM. BAP работает путём дизассемблирования и перевода инструкций в RISC-подобный язык — BAP Instruction Language (BIL). Такой подход позволяет платформе анализировать код одинаково хорошо, независимо от архитектуры. Вместе с платформой поставляется набор инструментов, библиотек и плагинов. Основная цель платформы — предоставить инструментарий для автоматического анализа программ.
BAP написана на Ocaml, и это предпочтительный язык для написания средств анализа, но также имеются биндинги к C, Python и Rust.
Релиз 1.3 является самым большим публичным релизом платформы, который содержит много нового:
- новый загрузчик, который работает со всеми видами бинарных файлов, в том числе модулями ядер Linux и Darwin, разделяемыми библиотеками и другими представлениями программ;
- сокращено потребление памяти;
- Primus — фреймворк эмуляции ЦП;
- лучшее представление программ благодаря удалению «мёртвого кода»;
- поддержка LLVM 4.0.
>>> Подробности