
Набор скриптов, которые упрощают работу с frida
Набор скриптов, упрощающих работу с Frida, предназначенный для помощи в поиске правильной функции для перехвата и последующего её изменения.
Для обоих скриптов предполагается, что у вас есть устройство, подключённое через USB, или запущен эмулятор на той же машине.
Установите Frida на свой компьютер и убедитесь, что на вашем Android-устройстве/эмуляторе запущен сервер Frida.
Возможно, у вас есть APK-файл, и вы хотите узнать, какие активности будут запускаться и в какой последовательности. В этом случае вы можете использовать activity_tracer.js:
frida -U -f com.pkg.xxx.yyy -l activity_tracer.js --no-pause
Если вы хотите вывести все методы класса и узнать, что возвращает метод, вы можете воспользоваться hooketh.py:
python hooketh.py -h
usage: hooketh.py [-h] [-n NUMBER] [-c CLASS_NAME] [-t RETURN_TRUE]
[-p PACKAGE_NAME]
optional arguments:
-h, --help show this help message and exit
-n NUMBER, --number NUMBER
index number of the method to overload
-c CLASS_NAME, --class_name CLASS_NAME
FQDM name of the target class
-t RETURN_TRUE, --return_true RETURN_TRUE
make method return true(type 1 or true)
-p PACKAGE_NAME, --package_name PACKAGE_NAME
FQDM of the app (ex: com.app.name, you can find it in
the manifest file)
# If you do not provide a method number the script will use "3" as a method number because that is the "init" method
python3 hooketh.py -c java.lang.String -p com.name1.name2.demo
# Make method 10 in the MainActivity return true
python3 hooketh.py -c com.name1.name2.demo.MainActivity -p com.name1.name2.demo -n 10 -t true
Примечание: как только вы укажете имя класса и номер в скрипте hooketh.py, он выведет все методы класса и пронумерует их. После этого вы можете указать номер из списка, чтобы узнать, что возвращает этот метод. Я всегда начинаю с 3, так как это метод инициализации.