
Un ensemble de scripts qui facilitent le travail avec frida
Un ensemble de scripts qui facilitent le travail avec Frida, conçus pour aider à trouver la fonction correcte à hooker puis à la modifier.
Pour les deux scripts, je suppose que vous avez un appareil connecté via USB ou un émulateur en cours d'exécution sur la même machine.
Installez frida sur votre machine et assurez-vous que le serveur frida est en cours d'exécution sur votre appareil/émulateur Android.
Vous avez peut-être un fichier apk et vous voulez savoir quelles activités s'exécuteront et dans quel ordre. Dans ce cas, vous pouvez utiliser activity_tracer.js :
frida -U -f com.pkg.xxx.yyy -l activity_tracer.js --no-pause
Si vous souhaitez lister toutes les méthodes d'une classe et connaître ce qu'une méthode retourne, vous pouvez utiliser 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
Remarque : une fois que vous fournissez un nom de classe et un numéro au script hooketh.py, il listera toutes les méthodes de la classe et les numérotera. Ensuite, vous pouvez fournir un numéro listé pour obtenir ce que cette méthode retourne. Je commence toujours par 3 car c'est la méthode d'initialisation.