LINUX.ORG.RU

Binary Analysis Platform 1.3

 , ,


0

4

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.

>>> Исходный код на Github

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Странная концепция — трансляция в унифицированный байткод. Обычно анализировать надо такое ПО, в котором всякие хаки оригинальной архитектуры применяются. Но вообще очень интересно.

buddhist ★★★★★ ()
Последнее исправление: buddhist (всего исправлений: 1)

А с этого BIL можно как то обратно потом ассемблировать после внесения изменений?

А вообще вещь полезная. Долой проприетарщину да здраствует дизассемблирование.

iluha16 ()

Штука несомненно годная. Кстати, в соседней ветке плюсовики бегают и кричат, что Окамл не нужен, он не взлетел и ничего полезного на нём написано не может быть.

Vudod ★★★★★ ()

У меня есть сканер который заводится только с неким xxx.bin(не помню точно) файлом из драйверов от win xp, который надо подсовывать в xsane иначе не заработает.

Скажите, могу я сабжем декомпилировать этот файлик и извлечь некую пользу для себя?

ult ()

Как там с поддержкой PPC? В списке основных платформ нет, а из описания непонятно, чем основные платформы отличаются от остальных 27.

alt-x ★★★★★ ()
Ответ на: комментарий от alt-x

Если я правильно вспомнил, то сканер benq s2w 5000u. А файлик u252v072.bin это получается прошивка для этого сканера? Помнится, давно я пытался в ida его декомпилировать, но видимо, действительно не понял про процессор.

ult ()
Ответ на: комментарий от Vudod

На самом деле есть у всех четырёх помянутых: Д, С++, Го и Окамла.

Вот только Ocaml в этом ряду чужероден. Он не представляет из себя переосмысление Си или что-то в этом роде.

olibjerd ★★★★★ ()