Сводка проблем

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

Часто задаваемые вопросы

Некоторые приложения не могут нормально отобразить интерфейс, на экране нет никаких интерактивных элементов.

Загрузите этот скрипт user-home/modules/script/enhanced_automation_wechat.yaml и поместите его в каталог ~/modules/script на устройстве.

После установки firerpa другие приложения не открываются нормально.

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

Сервис не запускается, ошибка указывает на avtab или unsupported policy database format.

Такая ситуация может возникать на Android 16, но не исключено её появление и на более ранних версиях. Прежде всего обязательно убедитесь, что вы используете последнюю версию серверной части. Если проблема сохраняется, проверьте, используется ли у вас Root-решение KernelSU. Сбой при запуске вызван тем, что старая версия ksu повреждает образ SELinux policy в системе. Попробуйте использовать последнюю версию ksu. Если сбой сохраняется, переключитесь на Magisk или запустите с пониженными shell-правами.

После обновления до версии 10.x frida-скрипты, которые работали в 9.x, перестают работать, или сам frida работает некорректно. Версия frida по умолчанию, используемая в 10.x, может иметь проблемы на некоторых старых версиях Android. Из-за изменений логики внедрения в frida 17.6.x и более новых версиях некоторые приложения не могут быть нормально заинжектированы, а на старых установках могут наблюдаться плохая совместимость, ошибки скриптов и другие проблемы. Начиная с версии 10.8 серверная часть поставляется с двумя версиями frida-server. По умолчанию всегда используется последняя версия frida-server. Если вы столкнулись с указанными выше проблемами, вы можете указать использование старой версии frida-server с помощью настройки `frida.version=17.5.2`.
После запуска сервиса отдельные приложения не открываются, вылетают или обнаруживают аномалии.

Это может происходить из-за того, что некоторые приложения используют app-zygote для обнаружения Frida. Вы можете попробовать настроить enhanced-stealth-mode=true в удалённом рабочем столе, чтобы обойти эту проблему (побочный эффект — невозможность использовать функции Frida, связанные со spawn). В версии 10.x по умолчанию эта настройка не требуется, поскольку используемая по умолчанию версия frida-server в 10.x уже сама обходит эту проблему. (Но если вы вручную переключились на версию 17.5.2, то вам может потребоваться выполнить эту настройку.)

Ответы на вопросы о функциях перехвата трафика.

Не нужно спрашивать, доработана ли функция перехвата трафика. FIRERPA уже всё предусмотрел: он уже выполнил за вас все процессы, необходимые для перехвата. Если другие программы для перехвата трафика не могут перехватить пакеты, FIRERPA обязательно сможет; если FIRERPA не может перехватить, то ни одна программа с аналогичной логикой не сможет. Не беспокойтесь о проблемах недоверия сертификатам: FIRERPA при перехвате автоматически установит для приложения системный корневой сертификат, ручных действий не требуется. Что касается понижения QUIC: startmitm автоматически отключит протокол UDP. Обычно, когда приложение не может использовать UDP, оно автоматически переходит на более низкий уровень без использования QUIC, и всё это не требует ручного вмешательства.

Скрипт перехвата запущен, но пакеты не перехватываются.

Возможные причины: во-первых, в самом приложении есть проверка сертификата или certificate pinning; во-вторых, неправильно выполнена предварительная или последующая обработка. Как определить, есть ли в приложении проверка сертификата: включите глобальный перехват, затем откройте браузер или другое приложение и проверьте, перехватывается ли трафик нормально. Проверьте несколько сетевых приложений, чтобы убедиться: если одни приложения перехватываются, а другие нет, то с высокой вероятностью приложение, которое не перехватывается, использует проприетарный протокол или механизм проверки сертификата. Обычно в логах startmitm при этом появляются сообщения вида Client TLS handshake failed, но это не главное. Если подтверждено, что в приложении есть проверка сертификата, для продолжения перехвата необходимо динамически обойти проверку с помощью реверс-инжиниринга или других средств. О неправильной предварительной или последующей обработке: обычно некоторые пользователи могут не отключить системный брандмауэр, из-за чего порт прокси недоступен с телефона и ничего не происходит. Другой случай: приложение уже установило необходимые сетевые соединения до запуска перехвата, поэтому трафик после запуска перехвата продолжает передаваться через эти уже существующие соединения, минуя прокси. Вам нужно после запуска startmitm полностью завершить приложение вручную (принудительная остановка), а затем снова открыть его.

После использования однокликового перехвата телефон, похоже, потерял сеть.

Сначала проверьте, отключён ли брандмауэр. Затем посмотрите, выводит ли скрипт однокликового перехвата логи при открытии сайта в браузере телефона. Если появляется ошибка вида No route to host, и она соответствует действиям в браузере (то есть при каждом открытии сайта скрипт выводит эту ошибку), то вероятная причина: телефон поддерживает доступ к сети по IPv6, и DNS по умолчанию также использует IPv6, но компьютер, на котором запущен скрипт, не включает или не поддерживает IPv6, из-за чего возникает No route to host. Если ваш широкополосный доступ поддерживает IPv6, включите его вручную в сетевых настройках компьютера; либо попробуйте указать в командной строке скрипта --proxy-dns 114.114.114.114 и проверьте, восстановилась ли работа. Если оба способа не помогли, обратитесь в поддержку.

При перехвате startmitm появляется No route to host, и у приложения нет сети.

Эта проблема аналогична предыдущей. Сначала проверьте, могут ли другие приложения нормально перехватываться, чтобы исключить проблему сервиса. Если проксирование работает нормально, то, вероятно, устройство поддерживает IPv6, а машина, на которой вы запускаете startmitm, не имеет действующего IPv6-адреса. Если в вашей сети доступен публичный IPv6, назначьте его вашему компьютеру; либо полностью отключите IPv6 на роутере.

Скрипт перехвата показывает Client TLS handshake failed, does not trust the proxy's certificate.

Если вы можете нормально перехватывать пакеты соответствующего приложения, на это сообщение можно не обращать внимания: это может быть лог механизма проверки сертификата других приложений в системе или сторонних SDK внутри приложения.

После запуска сервиса некоторые программы обнаружения нашли аномальные признаки.

Убедитесь, что проблема появилась именно после запуска FIRERPA. Если это подтверждено, обновитесь до последней версии; если проблема сохраняется, свяжитесь с нами. (Настройка enhanced-stealth-mode начиная с версии 10.0 удалена и больше не применяется.)

Я установил APK автозапуска, но сервис не запускается и недоступен.

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

При использовании интерфейса Python или перехвата отображается Service Unavailable.

Убедитесь, что вы выполнили соответствующие настройки, указанные в разделе Подготовка окружения, затем попробуйте несколько раз перезагрузить устройство (около 3 раз).