Об этом проекте
Capstone Engine — это фреймворк для дизассемблирования с открытым исходным кодом, написанный на чистом C и предназначенный для анализа бинарного кода и реверс-инжиниринга в сообществе специалистов по безопасности. Создан Нгуеном Ань Куинем (Nguyen Anh Quynh) и поддерживается небольшим сообществом разработчиков. Распространяется под либеральной лицензией BSD.
Охват архитектур — одна из определяющих характеристик Capstone. Фреймворк обрабатывает машинный код для широкого спектра аппаратных и виртуальных архитектур: ARM, AArch64 (ARMv8), Alpha, ARC, BPF, Ethereum Virtual Machine, LoongArch, HPPA (PA-RISC), M68K, M680X, MIPS, MOS65XX, PowerPC, RISC-V (rv32G/rv64G), SH, SPARC, SystemZ, TMS320C64X, TriCore, WebAssembly, XCore, Xtensa, а также x86 в 16-, 32- и 64-битных режимах.
Помимо преобразования машинного кода в текст ассемблера, Capstone предоставляет детальную информацию о каждой дизассемблированной инструкции — возможность, которую другие инструменты иногда называют «декомпозицией», — включая семантику инструкций, например, какие неявные регистры читаются и записываются. API спроектирован как чистый, легковесный и архитектурно-нейтральный, поэтому один и тот же интерфейс работает для всех поддерживаемых целей.
Capstone потокобезопасен по своей конструкции и включает специальную поддержку для встраивания в прошивки или ядра операционных систем, что делает его пригодным для низкоуровневых и ограниченных сред. Проект описывает себя как высокопроизводительный и способный обрабатывать различные трюки вредоносных программ для x86, что позиционирует его для сценариев анализа вредоносного ПО.
Хотя ядро реализовано на C, доступны привязки — либо в основном коде, либо предоставленные сообществом извне — для длинного списка языков: Python, C++, C#, Java, Go, Rust, NodeJS, Ruby, Perl, PHP, Lua, Haskell, OCaml, Clojure, F#, Common Lisp, Swift, D, Visual Basic, PowerShell, Emacs Lisp, Delphi, Free Pascal и Vala. Пакет для Python опубликован на PyPI. Нативные сборки поддерживаются на Windows, macOS, iOS, Android, Linux, *BSD и Solaris.
Проект участвует в программе непрерывного фаззинга OSS-Fuzz от Google, а его документация охватывает сборку и установку, архитектуру программного обеспечения, тестирование и компонент автоматической синхронизации обновлений. Обсуждения сообщества проходят в группе Telegram, а руководство для участников включено в репозиторий.
Типичные пользователи включают исследователей безопасности, аналитиков вредоносного ПО и разработчиков, создающих отладчики, трассировщики или другие инструменты, которым необходимо программно интерпретировать машинный код. Обратите внимание, что Capstone — это библиотека и фреймворк, а не автономное GUI-приложение: пользователи интегрируют его через C API или одну из многочисленных языковых привязок.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.