Binary Ninja

Бесплатно
Windows
macOS
Linux

Сайт: binary.ninja

Binary Ninja — интерактивная платформа для обратной разработки и анализа бинарных файлов, объединяющая дизассемблер, декомпилятор, отладчик и набор вспомогательных инструментов. Программный продукт предназначен для анализа машинных кодов на различных архитектурах, автоматизации рутинных задач реверс-инжиниринга и создания пользовательских плагинов через доступное API. Интерфейс сочетает графическое представление потоков управления, текстовый дизассемблер и средство просмотра данных, что облегчает исследование структуры исполняемых файлов и поиск уязвимостей.

Платформа предлагает механизмы статического и частично интерактивного анализа: построение графов функций, сопоставление вызовов, определение типов и именование символов, а также работу с отладочными сессиями для динамического исследования поведения. Binary Ninja включает программный интерфейс для автоматизации на нескольких языках, что позволяет интегрировать инструменты проверки, модификации и извлечения метаданных из бинарных образов. Продукт применяется в задачах анализа вредоносного ПО, аудита безопасности, исследовательских проектах и при обучении основам реверс-инжиниринга.

  • Дизассемблирование: представление инструкции в ассемблере для множества архитектур с возможностью навигации по потокам управления.
  • Декомпиляция: высокоуровневое представление кода для упрощения понимания логики функций и восстановления структур данных.
  • Отладка: интеграция с отладочными адаптерами для запуска и пошагового выполнения кода, наблюдения за регистрами и памятью.
  • API и автоматизация: расширяемое API (включая Python, C++ и Rust) для написания плагинов, скриптов и пользовательских анализаторов.
  • Поддержка архитектур: множество целевых архитектур процессоров и форматов исполняемых файлов, с возможностью добавления новых описаний.
  • Графы и визуализация: интерактивные графы потока управления и представления вызовов для упрощённого обзора кода.
  • Анализ типов и символов: попытки восстановления типов данных, структур и имен переменных для повышения читаемости декомпилированного кода.
  • Скриптинг и плагины: экосистема расширений для автоматизации поиска паттернов, сигнатур и интеграции с внешними инструментами.
  • Сравнение бинарников: средства для сопоставления версий и выявления различий в коде или данных между образами.
  • Безопасность и аудит: инструменты для поиска потенциальных уязвимостей, неправильного использования API и небезопасных конструкций в исполняемом коде.
Подробнее