Capstone

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: www.capstone-engine.org

Capstone — это лёгкий мультиархитектурный фреймворк дизассемблера и библиотека для анализа машинного кода, реализованная на языке C с биндингами для множества других языков программирования. Проект предназначен для преобразования последовательностей байтов исполняемого кода в человекочитаемые ассемблерные инструкции и предоставляет программный интерфейс для разбора команд различных процессорных архитектур, что делает его полезным инструментом для задач бинарного анализа, реверс-инжиниринга, отладки и разработки инструментов безопасности.

Фреймворк поддерживает модульную архитектуру, позволяющую подключать реализацию декодеров для разных наборов команд и возвращать структурированные данные о каждой инструкции, такие как мнемоника, операнды, длина команды и адрес. Capstone развивался в контексте потребностей исследователей и инженеров, работающих с низкоуровневым кодом, и обеспечивает баланс между производительностью, удобством использования и широтой охвата архитектур. Благодаря биндингам, библиотека применяется в разнородных средах — от компьютеров до встроенных систем и инструментов автоматизированного анализа.

  • Мультиархитектурность: поддержка многочисленных процессорных архитектур и наборов команд через единый API.
  • Высокая производительность: оптимизированный декодер для быстрого дизассемблирования больших объёмов бинарных данных.
  • Структурированный вывод: подробные данные по каждой инструкции — мнемоника, операнды, длина, оффсет и дополнительные атрибуты.
  • Портируемость: реализован на C с биндингами для языков высокого уровня, что облегчает интеграцию в разные проекты.
  • Гибкость API: процедурный интерфейс, позволяющий управлять режимами дизассемблирования, синхронизацией и обработкой ошибок.
  • Поддержка режимов и опций: настройка синтаксиса вывода, выбор режимов (например, 32/64-битные режимы) и фильтрация инструкций.
  • Малый объём внедрения: относительно небольшой размер библиотеки и низкие зависимости упрощают встраивание в сторонние приложения.
  • Сообщество и расширяемость: возможность добавления новых архитектур и улучшений через исходный код и биндинги.
Подробнее