January 23, 2020

Мастхэв для мобильной аналитики. Что нужно, чтобы вскрывать приложения для Android на Android

Источник: t.me/Bureau121

Эмулятор терминала для Android

Инструментом Terminal Emulator for Android я пользуюсь очень давно. Он полезен для запуска различных команд на мобильном устройстве. А с правами root возможностей будет еще больше: например, ты сможешь посмотреть информацию о любом процессе или получить доступ к файлам любого приложения.

Terminal Emulator for Android

Это чем-то похоже на ADB, только в контексте мобильного приложения.

Xposed Installer

Xposed Installer

Этот инструмент работает только под рутом и позволяет изменять приложения и системные сервисы Android. Самые типичные примеры модификаций: удаление из приложений рекламы, переназначение задач на основные кнопки, увеличение времени работы батареи. Звучит весьма здорово, не так ли? Однако самая распространенная проблема, с которой сталкивается большинство желающих поставить этот инструмент, — сложность установки. Очень часто это приложение просто не ставится на девайс. Иногда установка Xposed может «окирпичить» устройство.

Принцип платформы Xposed заключается в способности загружать код для определенного модуля Java перед началом любого app_process, тем самым контролируя его поведение. Так что модули Xposed могут выполнять код при запуске процесса приложения. Возможно, звучит вдохновляюще, но на самом деле это страшная вещь. Например, ты запускаешь модуль, а он захватывает все возможные функции приложения, включая переводы денег и ввод паролей, если такое поведение предусмотрено в приложении. Поэтому, если ты не доверяешь автору конкретного модуля, советую воздержаться от его установки на свое устройство.

Лучше попробуй написать свой собственный модуль, в котором ты будешь полностью уверен.

INFO

Подробнее о работе с Xposed читай в статье «Сам себе моддер: как изменить Android с помощью Xposed». На десктопе в качестве альтернативы можно испол��зовать Frida, подробнее — в статье «Инъекция для андроида. Внедряем код в чужие приложения с помощью Frida».

MT Manager

Очень мощный и простой в использовании инструмент для управления файлами.

MT Manager

Он предназначен для редактирования, клонирования, шифрования и оптимизации пользовательских и системных файлов APK прямо на телефоне. Фактически это файловый менеджер, который может работать с APK и его содержимым. Его часто используют для того, чтобы взломать платные функции приложения.

Принцип работы этого инструмента довольно прост: он анализирует файлы DEX и файлы ресурсов APK, позволяет изменять их, а затем перепаковывает. MT Manager можно найти в открытом доступе.

INFO

APK Studio — аналог приложения для персонального компьютера.

Root Explorer

Этот инструмент довольно известен, его функции схожи с тем, что делает MT Manager, но он больше ориентирован на просмотр, изменение и другие операции над всеми файлами, которые находятся на устройстве. Root Explorer отлично справится с просмотром базы данных или файлов XML из песочницы приложения, поэтому обычно этот инструмент используют тестировщики и аудиторы безопасности.

После установки RE его интерфейс выглядит так

Здесь отображается корневой каталог мобильного телефона. Его можно изменить. После ты можешь изменить каталог RE по умолчанию, чтобы он открывался сразу в удобном для тебя месте.

В каталоге /data установлено программное обеспечение устройства. Этот раздел используется для установки приложений, сохранения файла настроек. Приложения, которые были установлены в память устройства, можно найти в каталоге /data/app.

RE /data

sdcard — пространство карты памяти. В системе Android приложение может быть установлено в двух местах: data или sdcard.

Помимо этого, есть еще системные приложения, которые находятся в каталоге /system/app. Если ты хочешь удалить предустановленное приложение, тебе сюда, но будь осторожен. Перед удалением приложения из этого каталога убедись, что система в нем не нуждается, иначе придется перепрошивать аппарат.

SuperSU

SuperSU был написан разработчиком, известным под ником ChainFire.


SuperSU

По названию понятно, что это приложение необходимо для управления устройством с правами суперпользователя. Если ты рутировал свой телефон, то должен понимать, что любое приложение может захватить повышенные права и сделать что-то очень нехорошее. Как раз для таких ситуаций нужен SuperSU, который позволяет контролировать доступ приложений к root: например, давать привилегии на ограниченное количество времени. Помимо этого, с его помощью можно по умолчанию отключить возможность получения su некоторым приложениям.

INFO

К сожалению, 4 октября 2017 года ChainFire опубликовал заявление «Выход SuperSU на пенсию» в своем Google+. Он заявил, что больше не будет участвовать в развитии SU и продаст свое детище китайской коммерческой компании.

Magisk

Magisk — это системный администратор прав суперпользователя. Он имеет две основные функции: управление разрешениями root и установка модулей расширений с различными функциями.

Когда мы говорим об администрировании root, многие сразу думают о SuperSU. Но, как я уже говорила, автор покинул свой проект. На его замену пришел Magisk.

Magisk

Поначалу заменить SuperSU было довольно сложно, и, несмотря на проблемы с поддержкой, многие все равно продолжали им пользоваться. К тому же у Magisk до недавнего времени был очень грубый интерфейс, что также отпугивало потенциальных пользователей. Теперь интерфейс стал более приятен глазу, в соответствии со спецификацией Google Material Design.

Это приложение было удалено из Google Play, но его все еще можно найти в открытом доступе.

Здесь мы скрываем от Root Checker, что устройство рутировано

Самая популярная функция Magisk — скрытие root от выбранных приложений, к примеру банковских клиентов, которые обычно не хотят работать на рутированном устройстве.

INFO

Подробнее о Magisk — в статье «Magisk. Модифицируем прошивку Android с комфортом».

Root Checker

С помощью этого приложения можно проверить наличие прав root на устройстве. Выше, говоря о Magisk, я отметила, что root должен скрыться от Root Checker. На скриншоте — результат этой манипуляции.

Приложение может делать запрос к SafetyNet, где содержится информация об устройствах. Это позволяет оценить безопасность и совместимость среды Android, в котором работают приложения.

SafetyNet

SafetyNet проверяет информацию о программном и аппаратном обеспечении аппарата, на котором установлено приложение, а после создает профиль этого устройства. Затем ищет в своей базе подобный профиль устройства среди доступных ему моделей, которые прошли тестирование на совместимость с Android. Помимо этого, оценивается целостность программного и аппаратного обеспечения устройства, а также проверяется APK, который выполнил запрос.

Hex Editor

Этот инструмент позволит посмотреть любой файл на устройстве в шестнадцатеричном виде. Hex Editor можно использовать вместе с MT Manager для редактирования файла APK.

Hex Editor

С помощью приложения можно напрямую редактировать содержимое памяти. Также Hex Editor имеет функцию экспорта данных: ты можешь напрямую выводить шестнадцатеричные данные в C, Java и другие форматы программного кода. Благодаря импорту данных непосредственно в программу ты избавишься от необходимости делать это вручную.

Show Java

Иногда нужно быстро декомпилировать приложение, которое уже установлено на устройстве, и Show Java отлично подойдет для решения этой задачи. Эта программа позволяет декомпилировать APK и просматривать распакованные файлы.

Show Java и Java decompileINFO

На персональном компьютере советую воспользоваться JADX или javadecompilers.

Это мой рабочий стол, и я уверена в этих инструментах

Эти инструменты позволяют исследователю быть более мобильным и делать интересные вещи и без компьютера. Надеюсь, и ты узнал новые пути для аналитики мобильных приложений и тебе было интересно.

Не забывай постоянно обновлять набор своих инструментов!

ПОДПИСАТЬСЯ - Бюро121