Некоторые приложения могут определять было ли устройство прошито (имеет рут-доступ) и если обнаружен root, могут не запускаться. В статье рассмотрим обход детекта root с помощью Frida.
Еще по теме: Установка Frida Server на Android
Обход детекта root с помощью Frida
Вот пример того, как использовать Frida для обхода анти-проверки на наличие рут-доступа в приложении:
Шаг 1: Используйте Frida, чтобы подключиться к запущенному процессу APK на устройстве Android:
1 2 |
import frida session = frida.get_usb_device().attach("com.example.app") |
Шаг 2: Создайте скрипт Frida, который перехватывает функцию анти-проверки на наличие рут-доступа и изменяет ее возвращаемое значение:
1 2 3 4 5 6 7 |
script = session.create_script(""" var rootDetection = Java.use("com.example.app.RootDetection"); rootDetection.isDeviceRooted.implementation = function() { console.log("[+] Проверка на наличие рут-доступа обойдена!"); return false; } """) |
Шаг 3: Запустите скрипт:
1 |
script.load() |
В этом примере Frida используется для подключения к запущенному процессу APK на Android с помощью его имени пакета com.example.app.
Функция create_script используется для создания скрипта Frida, который с помощью метода Java.use находит класс com.example.app.RootDetection и его метод isDeviceRooted.
Затем происходит перехват метода isDeviceRooted, используя свойство implementation, которое позволяет заменить исходную реализацию метода на собственную.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Пентест мобильных приложений iOS используя Frida
- Как сделать хакерский iPhone или iPad (Пентест на iOS)
- Использование Frida для внедрения кода в приложение