Данная статья является переводом соответствующей статьи Aditya Agrawal. Оригинал доступен по ссылке.
Во всех демонстрациях, приведённых ниже, я использовал приложение FourGoats из OWASP-GoatDroid-Project, которое можно загрузить здесь.
Android Debug Bridge
Ниже я описал приёмы работы с ADB, которые необходимо знать, но я бы порекомендовал обратиться к документации ADB, чтобы получить о нём более полное представление.
- adb devices — выводит на экран список всех подключенных эмуляторов/устройств
- adb install — используется для установки apk-файла на подключенный эмулятор/устройство
- adb pull — используется для передачи данных с удалённого эмулятора/устройства на локальный компьютер.
- adb push — используется для передачи данных с локального компьютера на удалённый эмулятор/устройство.
- adb forward — перенаправляет соединение с указанного локального порта на указанный удалённый порт эмулятора/устройства.
- adb shell — ADB предоставляет *nix-шелл, в котором можно выполнять различные команды на подключенном эмуляторе/устройстве
Хотя в adb-шелле существуют и другие утилиты, Activity Manager (am) и Package Manager (pm), для тех же команд мы будем использовать Drozer просто потому, что Drozer позволяет выполнять эти задачи проще.
Drozer
Drozer позволяет искать уязвимости приложений и устройств, действуя как приложение и взаимодействуя с виртуальной машиной Dalvik, другими приложениями (посредством IPC) и ОС.
Т.к. Drozer является очень важным инструментом в исследовании безопасности Android-приложений, я написал о нём отдельный пост (в этом цикле — за номером 5).
Использование Apktool
- Введите apktool в Appie, чтобы вывести на экран список опций apktool
- В основном мы будем декомпилировать APK-файл, для чего нужно ввести apktool d <имя файла>.apk. В результате будет создана папка с декомпилированными файлами.
Использование dex2jar
- dex2jar в основном используется для того, чтобы преобразовать изменённый APK-файл в jar-файл.
- dex2jar <имя файла>.apk преобразует APK-файл в jar-файл
Использование JD-GUI
- Выше мы конвертировали APK-файл в jar-файл
- Теперь можно открыть jar-файл в JD-GUI и увидеть декомпилированный исходный код
- Сначала введите jdgui в Appie, в результате чего откроется окно JD-GUI
- Затем откройте требуемый jar-файл в JD-GUI