
Криминалистическая аналитика для дизассемблирования, повторной сборки, обратной разработки и аудита Android-приложений
BogusMips написан на Rust и позволяет проводить анализ того, насколько далеко можно дизассемблировать ваше Android-приложение. Он позволяет открыть файл *.apk или *.xapk вашего приложения, чтобы увидеть, насколько далеко можно дизассемблировать ваше приложение.

*.apk или *.xapk через File → Open… (⌘O / Ctrl+O), перетащив его в окно или передав в качестве аргумента командной строки.classes*.dex, сгруппированный по Java-пакетам и дизассемблированный в smali.resources.arsc, декодированный в файлы res/values*/*.xml, из которых он был скомпилирован (строки, цвета, dimens, стили, атрибуты, массивы, plurals, …), плюс public.xml со всеми идентификаторами ресурсов..smali; сгенерированные файлы ресурсов как XML; APK, содержащиеся в XAPK, как .apk.AndroidManifest.xml, res/**/*.xml) декодируется. Ссылки на ресурсы разрешаются в имена (@string/app_name, @android:style/Theme), а значения атрибутов — в их символьные имена (protectionLevel="signature").AndroidManifest.xml, resources.arsc) и перехваченном сетевом трафике HTTP/HTTPS. Настраивается с помощью Grok (xAI), Gemini (Google), Claude (Anthropic), OpenAI (ChatGPT) или любой пользовательской конечной точки, совместимой с OpenAI (например, Ollama, OpenRouter). Агент имеет встроенные инструменты (search_package, list_nodes, read_node, list_network_flows, inspect_network_flow) для автономного поиска и чтения классов, ресурсов и перехваченных сетевых потоков.
Представление Network (⇧⌘N) — это упрощённый сниффер трафика в стиле Postman. Он запускает эмулятор Android (AVD), направляет трафик гостевой системы через встроенный man-in-the-middle прокси, устанавливает открытый APK/XAPK, запускает его и перехватывает его HTTP- и HTTPS-запросы в реальном времени. Перехваченные запросы отображаются в списке слева; при выборе запроса в редакторе отображается его полный запрос/ответ (заголовки и тело, pretty / raw / hex), а в панели информации — сведения о времени и соединении.

Полное расшифрование HTTPS требует рутованного образа эмулятора (google_apis / aosp_atd, не google_apis_playstore), поскольку CA-сертификат прокси должен быть установлен как системный доверенный якорь. При запуске BogusMips включает adb root и устанавливает свой сгенерированный CA (кратковременный, на сессию, в формате PEM) в системные хранилища доверия и хранилища доверия Conscrypt (APEX). В Android 14+ (API 34+) эти хранилища находятся в отдельных mount-пространствах имён для каждого процесса, поэтому CA размещается в overlay-каталоге — с перемаркировкой контекстом SELinux system_security_cacerts_file (как файлов, так и каталога, иначе приложениям будет отказано в доступе) — и монтируется поверх хранилищ в mount-пространстве имён каждого процесса через nsenter. Целевое приложение устанавливается и запускается после этого, поэтому оно форкается заново, и его HTTPS-трафик через системное хранилище доверия расшифровывается. Листовые сертификаты для каждого хоста кратковременны и отправляются без CA в цепочке, чтобы удовлетворить клиентов, которые требуют максимальный срок действия сертификата в 398 дней.
Ограничения — что невозможно расшифровать: