Отладка приложений с помощью IDA¶
В этой главе мы покажем, как быстро отлаживать приложения для Android с помощью FIRERPA, его функций и скриптов. Наша демонстрационная среда — это Android 10, хост-система — Ubuntu 22.04 с установленными IDA 7.5 (wine), ADB, jdb, Python и другими необходимыми инструментами. Рекомендуется использовать IDA версии 7.5 или выше и установить последнюю версию серверной части FIRERPA.

Включение режима отладки¶
Если на вашем устройстве уже включен режим отладки, этот шаг можно пропустить. В противном случае откройте удаленный рабочий стол FIRERPA и введите в терминале setdebuggable. После ввода команды ваше устройство выполнит программную перезагрузку. Не беспокойтесь, оно вернется в нормальное состояние примерно через две минуты. После этого ваше устройство будет в режиме отладки.

Установка сервера отладки IDA¶
Прежде чем продолжить, вам необходимо загрузить на устройство сервер отладки для Android, поставляемый с IDA. Вы можете найти android_server и android_server64 в каталоге dbgsrv вашей установки IDA. Если целевое приложение использует 32-битные библиотеки, используйте android_server, в противном случае — android_server64. Перетащите нужный файл или используйте команду adb push, чтобы загрузить его на устройство Android, а затем предоставьте права на выполнение.
chmod 755 android_server*
После предоставления прав на выполнение необходимо запустить службу android_server. Вы можете запустить этот исполняемый файл через adb (требуются root-права) или через терминал удаленного рабочего стола. В системах более новых версий (>=10) необходимо предварительно установить переменную окружения IDA_LIBC_PATH.
IDA_LIBC_PATH=/apex/com.android.runtime/lib64/bionic/libc.so ./android_server64 -kk
Примечание
Проброс порта для сервера отладки IDA¶
Для задач отладки, требующих высокой производительности и работы в реальном времени, мы рекомендуем использовать USB-соединение. Убедитесь, что ваше устройство подключено к компьютеру и авторизация adb выполнена, затем выполните следующую команду.
adb forward tcp:23946 tcp:23946
Примечание
Начало отладки приложения¶
Мы не стали усложнять процесс и просто создали для вас скрипт-обертку, который автоматически выполнит большинство последующих действий. Просто следуйте инструкциям, выводимым скриптом. Вы можете найти скрипт ida.py в каталоге tools проекта и запустить его следующей командой.
python3 ida.py -d 192.168.0.2 -a com.android.settings

Здесь параметр -d — это IP-адрес вашего устройства, на котором запущен сервис FIRERPA, а параметр -a — это имя пакета приложения. После выполнения команды вам будет предложено присоединить IDA к процессу приложения.



Отлично, все шаги выполнены. Вернитесь в командную строку, где запущен ida.py, и нажмите клавишу Enter. Теперь вы можете продолжать отладку.