
Eine Reihe von Skripten, die die Arbeit mit frida erleichtern.
Eine Sammlung von Skripten, die die Arbeit mit Frida erleichtern und darauf ausgelegt sind, die richtige Funktion zum Hooking zu finden und dann zu modifizieren.
Für beide Skripte gehe ich davon aus, dass Sie ein über USB verbundenes Gerät oder einen auf demselben Rechner laufenden Emulator haben.
Installieren Sie Frida auf Ihrem Rechner und stellen Sie sicher, dass der Frida-Server auf Ihrem Android-Gerät/Emulator läuft.
Sie haben vielleicht eine APK-Datei und möchten wissen, welche Activities ausgeführt werden und in welcher Reihenfolge. In diesem Fall können Sie activity_tracer.js verwenden:
frida -U -f com.pkg.xxx.yyy -l activity_tracer.js --no-pause
Falls Sie alle Methoden einer Klasse auflisten und wissen möchten, was eine Methode zurückgibt, können Sie hooketh.py verwenden:
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
Hinweis: Sobald Sie einen Klassennamen und eine Nummer an das Skript hooketh.py übergeben, werden alle Methoden der Klasse aufgelistet und nummeriert. Danach können Sie eine der aufgelisteten Nummern angeben, um den Rückgabewert dieser Methode zu erhalten. Ich beginne immer mit 3, weil das die Initialisierungsmethode ist.