Если вы занимаетесь аналитикой мобильных приложений или разрабатываете их, то знаете о таких десктопных инструментах, как IDA, apktool или Jadx. Но бывает, что компьютера под рукой нет, а вам очень надо нужно проанализировать приложение. В сегодняшней статье я расскажу про лучшие приложениях для анализа Андроид-приложений, которые помогут вам решить эту проблему.
Xposed Installer
Этот приложение работает только под рутом и позволяет изменять приложения и системные сервисы Android. Самые типичные примеры модификаций: удаление из приложений рекламы, переназначение задач на основные кнопки, увеличение времени работы батареи. Звучит весьма здорово, не так ли? Однако самая распространенная проблема, с которой сталкивается большинство желающих поставить этот инструмент, — сложность установки. Очень часто это приложение просто не ставится на девайс. Иногда установка Xposed может «окирпичить» устройство и в таком случае может помочь только восстановление прошивки телефона.
Принцип платформы Xposed заключается в способности загружать код для определенного модуля Java перед началом любого app_process, тем самым контролируя его поведение. Так что модули Xposed могут выполнять код при запуске процесса приложения. Возможно, звучит вдохновляюще, но на самом деле это страшная вещь. Например, вы запускаете модуль, а он захватывает все возможные функции приложения, включая переводы денег и ввод паролей, если такое поведение предусмотрено в приложении. Поэтому, если вы не доверяете автору конкретного модуля, советую воздержаться от его установки на свое устройство.
Лучше попробуйте написать свой собственный модуль, в котором вы будете полностью уверены.
Подробнее о работе с Xposed читайте в статье «Как изменить Android с помощью Xposed». На десктопе в качестве альтернативы можно использовать Frida, подробнее — в статье «Внедрение кода в чужое приложение с помощью Frida».
Эмулятор терминала для Android
Инструментом Terminal Emulator for Android я пользуюсь очень давно. Он полезен для запуска различных команд на мобильном устройстве. А с правами root возможностей будет еще больше: например, вы сможете посмотреть информацию о любом процессе или получить доступ к файлам любого приложения.
Это чем-то похоже на ADB, только в контексте мобильного приложения.
MT Manager
Очень мощный и простой в использовании инструмент для управления файлами.
Он предназначен для редактирования, клонирования, шифрования и оптимизации пользовательских и системных файлов APK прямо на телефоне. Фактически это файловый менеджер, который может работать с APK и его содержимым. Его часто используют для того, чтобы взломать платные функции приложения.
Принцип работы этого инструмента довольно прост: он анализирует файлы DEX и файлы ресурсов APK, позволяет изменять их, а затем перепаковывает. MT Manager можно найти в открытом доступе.
APK Studio — аналог приложения для персонального компьютера.
Root Explorer
Этот инструмент довольно известен, его функции схожи с тем, что делает MT Manager, но он больше ориентирован на просмотр, изменение и другие операции над всеми файлами, которые находятся на устройстве. Root Explorer отлично справится с просмотром базы данных или файлов XML из песочницы приложения, поэтому обычно этот инструмент используют тестировщики и аудиторы безопасности.
Здесь отображается корневой каталог мобильного телефона. Его можно изменить. После вы можете изменить каталог RE по умолчанию, чтобы он открывался сразу в удобном для вас месте.
РЕКОМЕНДУЕМ:
Взлом приложений для Андроид с помощью отладчика
В каталоге /data установлено программное обеспечение устройства. Этот раздел используется для установки приложений, сохранения файла настроек. Приложения, которые были установлены в память устройства, можно найти в каталоге /data/app.
sdcard — пространство карты памяти. В системе Android приложение может быть установлено в двух местах: data или sdcard.
Помимо этого, есть еще системные приложения, которые находятся в каталоге /system/app. Если вы хотите удалить предустановленное приложение, вам сюда, но будьте осторожны. Перед удалением приложения из этого каталога убедитесь, что система в нем не нуждается, иначе придется перепрошивать аппарат.
SuperSU
SuperSU был написан разработчиком, известным под ником ChainFire.
По названию понятно, что это приложение необходимо для управления устройством с правами суперпользователя. Если вы рутировали свой телефон, то должны понимать, что любое приложение может захватить повышенные права и сделать что-то очень нехорошее. (подробнее об опасности root). Как раз для таких ситуаций нужен SuperSU, который позволяет контролировать доступ приложений к root: например, давать привилегии на ограниченное количество времени. Помимо этого, с его помощью можно по умолчанию отключить возможность получения su некоторым приложениям.
К сожалению, 4 октября 2017 года ChainFire опубликовал заявление «Выход SuperSU на пенсию» в своем Google+. Он заявил, что больше не будет участвовать в развитии SU и продаст свое детище китайской коммерческой компании.
Magisk
Magisk — это системный администратор прав суперпользователя. Он имеет две основные функции: управление разрешениями root и установка модулей расширений с различными функциями.
Когда мы говорим об администрировании root, многие сразу думают о SuperSU. Но, как я уже говорила, автор покинул свой проект. На его замену пришел Magisk.
Поначалу заменить SuperSU было довольно сложно, и, несмотря на проблемы с поддержкой, многие все равно продолжали им пользоваться. К тому же у Magisk до недавнего времени был очень грубый интерфейс, что также отпугивало потенциальных пользователей. Теперь интерфейс стал более приятен глазу, в соответствии со спецификацией Google Material Design.
Это приложение было удалено из Google Play, но его все еще можно найти в открытом доступе.
Самая популярная функция Magisk — скрытие root от выбранных приложений, к примеру банковских клиентов, которые обычно не хотят работать на рутированном устройстве.
Root Checker
С помощью этого приложения можно проверить наличие прав root на устройстве. Выше, говоря о Magisk, я отметила, что root должен скрыться от Root Checker. На скриншоте — результат этой манипуляции.
Приложение может делать запрос к SafetyNet, где содержится информация об устройствах. Это позволяет оценить безопасность и совместимость среды Android, в котором работают приложения.
SafetyNet проверяет информацию о программном и аппаратном обеспечении аппарата, на котором установлено приложение, а после создает профиль этого устройства. Затем ищет в своей базе подобный профиль устройства среди доступных ему моделей, которые прошли тестирование на совместимость с Android. Помимо этого, оценивается целостность программного и аппаратного обеспечения устройства, а также проверяется APK, который выполнил запрос.
РЕКОМЕНДУЕМ:
Использование Android в связке с Linux
Hex Editor
Этот инструмент позволит посмотреть любой файл на устройстве в шестнадцатеричном виде. Hex Editor можно использовать вместе с MT Manager для редактирования файла APK.
С помощью приложения можно напрямую редактировать содержимое памяти. Также Hex Editor имеет функцию экспорта данных: вы можете напрямую выводить шестнадцатеричные данные в C, Java и другие форматы программного кода. Благодаря импорту данных непосредственно в программу вы избавитесь от необходимости делать это вручную.
Show Java
Иногда нужно быстро декомпилировать приложение, которое уже установлено на устройстве, и Show Java отлично подойдет для решения этой задачи. Эта программа позволяет декомпилировать APK и просматривать распакованные файлы.
На персональном компьютере советую воспользоваться JADX или javadecompilers.
РЕКОМЕНДУЕМ:
Как устроена операционная система Андроид
Эти инструменты позволяют исследователю быть более мобильным и делать интересные вещи и без компьютера. Надеюсь, и вы узнали новые пути для аналитики мобильных приложений и вам было интересно.
Не забывайте постоянно обновлять набор своих инструментов!