BlutterAndroid: встроенный в приложение реверс-инжиниринг Flutter/Dart AOT на Android
Опубликовано: 2026-09-27 · Автор: AI Release · @ai_release1
⚡ Главное за 5 секунд - BlutterAndroid — Android-приложение для on-device реверс-инжиниринга Flutter/Dart AOT: дизассемблирование libapp.so, дамп объектного пула и генерация Frida-скриптов прямо на смартфоне. - Проект доступен на GitHub; APK уже содержит все 70 версий движка Blutter для Dart 2.14–3.13, установка не требует root, chroot/proot/Termux и других контейнеров. - Ограничение: версии Dart 3.0.x–3.3.x и 2.13.x/ранее не поддерживаются; для части 2.14.x работает только режим no-analysis без анализа кода. ### 🔍 Что обнаружено Проект AcE77505/BlutterAndroid — это Android-приложение, интегрирующее реверс-инжиниринг-движок blutter. Основной исполняемый файл кросс-компилируется в bionic-совместимый PIE, помещается в jniLibs/arm64-v8a и вызывается приложением через execve с LD_LIBRARY_PATH в дочернем процессе. Дистрибутив содержит предкомпилированные libblutter_<версия>.so для всех 70 поддерживаемых версий Dart, поэтому компиляция на устройстве не нужна. Установка не требует root: файлы извлекаются PackageManager в исполняемый каталог. Также не нужны chroot/proot/Termux или настройка окружения. Поддержка версий разбита по диапазонам: 2.14.1/2.14.2/2.14.4 помечены как no-analysis — доступен только дамп объектного пула; работают 2.15.0/2.15.1, 2.16.0–2.18.6, 2.19.6 и 3.4.0–3.13.4, включая порт Dart 3.13. Не поддерживаются ветки 3.0.x–3.3.x и всё, что младше 2.14: для ранних версий заявлена структурная несовместимость из-за отсутствия pointer compression. В исходном репозитории бинарники не хранятся из-за объёма; отдельно их можно получить через GitHub Releases. ### 💡 Почему это важно Главная практическая ценность — AOT-код Dart можно анализировать локально на Android-устройстве, не перенося libapp.so на компьютер. Приложение выполняет дизассемблирование, дамп объектного пула и генерацию Frida-скриптов прямо на смартфоне. Для тех, кто разбирает внутреннее устройство Flutter-приложений, это готовый инструмент с широким покрытием версий Dart: после установки APK анализ можно запускать сразу, без дополнительных зависимостей и сборочных цепочек. ### 🧩 Контекст Проект базируется на движке worawit/blutter с лицензией MIT, fork-изменения сохранены в blutter/patches/fork-local-changes.patch. В состав также входят сторонние компоненты: Dart SDK, Capstone, ICU, Android NDK; их лицензии и изменения описаны в THIRD_PARTY_NOTICES.md. Сборка из исходников предусмотрена в основном для тех, кто хочет самостоятельно компилировать бинарники или расширять список версий Dart: скрипты работают в Linux и Windows, а для Windows автоматически переключается NDK toolchain. Для обычного использования сборка не требуется.
⚡ Главное за 5 секунд - BlutterAndroid — Android-приложение для on-device реверс-инжиниринга Flutter/Dart AOT: дизассемблирование libapp.so, дамп объектного пула и генерация Frida-скриптов прямо на смартфоне.
- Проект доступен на GitHub; APK уже содержит все 70 версий движка Blutter для Dart 2.14–3.13, установка не требует root, chroot/proot/Termux и других контейнеров.
- Ограничение: версии Dart 3.0.x–3.3.x и 2.13.x/ранее не поддерживаются; для части 2.14.x работает только режим no-analysis без анализа кода.
🔍 Что обнаружено Проект AcE77505/BlutterAndroid — это Android-приложение, интегрирующее реверс-инжиниринг-движок blutter.
Основной исполняемый файл кросс-компилируется в bionic-совместимый PIE, помещается в jniLibs/arm64-v8a и вызывается приложением через execve с LD_LIBRARY_PATH в дочернем процессе.
Дистрибутив содержит предкомпилированные libblutter_ .so для всех 70 поддерживаемых версий Dart, поэтому компиляция на устройстве не нужна.
Установка не требует root: файлы извлекаются PackageManager в исполняемый каталог.
Также не нужны chroot/proot/Termux или настройка окружения.