Данная статья является переводом соответствующей статьи Aditya Agrawal. Оригинал доступен по ссылке.

Во всех демонстрациях, приведённых ниже, я использовал приложение FourGoats из OWASP-GoatDroid-Project, которое можно загрузить здесь.

Android Debug Bridge

Ниже я описал приёмы работы с ADB, которые необходимо знать, но я бы порекомендовал обратиться к документации ADB, чтобы получить о нём более полное представление.

  • adb devices — выводит на экран список всех подключенных эмуляторов/устройств

4_1

  • adb install — используется для установки apk-файла на подключенный эмулятор/устройство

4_2

  • adb pull — используется для передачи данных с удалённого эмулятора/устройства на локальный компьютер.

4_3

  • adb push — используется для передачи данных с локального компьютера на удалённый эмулятор/устройство.

4_4

  • adb forward — перенаправляет соединение с указанного локального порта на указанный удалённый порт эмулятора/устройства.

4_5

  • adb shell — ADB предоставляет *nix-шелл, в котором можно выполнять различные команды на подключенном эмуляторе/устройстве

4_6

Хотя в adb-шелле существуют и другие утилиты, Activity Manager (am) и Package Manager (pm), для тех же команд мы будем использовать Drozer просто потому, что Drozer позволяет выполнять эти задачи проще.

Drozer

Drozer позволяет искать уязвимости приложений и устройств, действуя как приложение и взаимодействуя с виртуальной машиной Dalvik, другими приложениями (посредством IPC) и ОС.

Т.к. Drozer является очень важным инструментом в исследовании безопасности Android-приложений, я написал о нём отдельный пост (в этом цикле — за номером 5).

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

  • Введите apktool в Appie, чтобы вывести на экран список опций apktool

4_7

  • В основном мы будем декомпилировать APK-файл, для чего нужно ввести apktool d <имя файла>.apk. В результате будет создана папка с декомпилированными файлами.

4_8

 

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

  • dex2jar в основном используется для того, чтобы преобразовать изменённый APK-файл в jar-файл.
  • dex2jar <имя файла>.apk преобразует APK-файл в jar-файл

4_9

 

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

  • Выше мы конвертировали APK-файл в jar-файл
  • Теперь можно открыть jar-файл в JD-GUI и увидеть декомпилированный исходный код
  • Сначала введите jdgui в Appie, в результате чего откроется окно JD-GUI

4_10

  • Затем откройте требуемый jar-файл в JD-GUI

4_11