Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
blutter — Инструмент для реверс-инжиниринга мобильных приложений Flutter | Kitploit
Инструменты/GitHubGitHub/worawit/blutter
Безопасность AndroidОбратная инженерияМобильная безопасностьАнализ Бинарных Файлов
GitHubworawit/blutter

blutter

Инструмент для реверс-инжиниринга мобильных приложений Flutter

Репозиторий
2.6k3593 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

B(l)utter

Инструмент для реверс-инжиниринга мобильных приложений Flutter путём компиляции Dart AOT Runtime

В настоящее время приложение поддерживает только Android libapp.so (только arm64). Также приложение в настоящее время работает только с последними версиями Dart.

По поводу наиболее приоритетных недостающих функций см. TODO

Настройка окружения

Это приложение использует библиотеку форматирования C++20. Требуется очень свежий компилятор C++, такой как g++>=13, Clang>=16.

Я рекомендую использовать ОС Linux (тестировалось только на Debian sid/trixie), так как её легко настроить.

Debian Unstable (gcc 13)

ПРИМЕЧАНИЕ: Используйте ТОЛЬКО версию Debian/Ubuntu, которая предоставляет gcc>=13 из своего основного репозитория. Использование портированного gcc на старой версии Debian/Ubuntu не работает.

  • Установите инструменты сборки и зависимости
root@kitploit:~
apt install python3-pyelftools python3-requests git cmake ninja-build \
    build-essential pkg-config libicu-dev libcapstone-dev

Windows

  • Установите git и python 3
  • Установите последнюю версию Visual Studio с компонентами "Разработка классических приложений на C++" и "Инструменты CMake для C++"
  • Установите необходимые библиотеки (libcapstone и libicu4c)
root@kitploit:~
python scripts\init_env_win.py
  • Запустите "Командную строку собственных инструментов x64"

macOS Sequoia

  • Установите XCode
  • Установите необходимые инструменты
root@kitploit:~
brew install cmake ninja pkg-config icu4c capstone
pip3 install pyelftools requests

macOS Ventura и Sonoma (clang 16)

  • Установите XCode
  • Установите clang 16 и необходимые инструменты
root@kitploit:~
brew install llvm@16 cmake ninja pkg-config icu4c capstone
pip3 install pyelftools requests

Использование

Извлеките каталог "lib" из файла apk

root@kitploit:~
python3 blutter.py path/to/app/lib/arm64-v8a out_dir

Скрипт blutter.py автоматически определит версию Dart из движка Flutter и вызовет исполняемый файл blutter для получения информации из libapp.so.

Если исполняемый файл blutter для требуемой версии Dart не существует, скрипт автоматически загрузит исходный код Dart и скомпилирует его.

Обновление

Вы можете использовать git pull для обновления и запустить blutter.py с опцией --rebuild для принудительной пересборки исполняемого файла

root@kitploit:~
python3 blutter.py path/to/app/lib/arm64-v8a out_dir --rebuild

Выходные файлы

  • asm/* ассемблерные листинги libapp с символами
  • blutter_frida.js шаблон скрипта Frida для целевого приложения
  • objs.txt полный (вложенный) дамп объектов из пула объектов
  • pp.txt все объекты Dart в пуле объектов

Каталоги

  • bin содержит исполняемые файлы blutter для каждой версии Dart в формате "blutter_dartvm<ver>_<os>_<arch>"
  • blutter содержит исходный код. Требуется сборка с библиотекой Dart VM
  • build содержит проекты сборки, которые можно удалить после завершения процесса сборки
  • dartsdk содержит копию Dart Runtime, которую можно удалить после завершения процесса сборки
  • external содержит сторонние библиотеки только для Windows
  • packages содержит статические библиотеки Dart Runtime
  • scripts содержит скрипты Python для получения/сборки Dart

Генерация решения Visual Studio для разработки

Я использую Visual Studio для разработки Blutter на Windows. Опция --vs-sln может быть использована для генерации решения Visual Studio.

root@kitploit:~
python blutter.py path\to\lib\arm64-v8a build\vs --vs-sln

TODO

  • Более глубокий анализ кода
    • Аргументы функций и тип возвращаемого значения
    • Некоторый псевдокод для шаблонов кода
  • Генерация лучшего скрипта Frida
    • Больше внутренних классов
    • Модификация объектов
  • Запутанное приложение (всё ещё отсутствует много функций)
  • Чтение бинарного файла iOS
  • Входной файл в формате apk или ipa
Скачать инструмент