
Frida-basierter Laufzeit-API-Monitor für Android-Apps, der aufgerufene APIs, Parameter, Rückgabewerte und Aufrufursprünge über vordefinierte oder benutzerdefinierte Kategorien protokolliert.

PAPIMonitor (Python API Monitor für Android-Apps) ist ein Python-Tool basierend auf Frida zur Überwachung benutzerausgewählter APIs während der App-Ausführung. Die App sollte in einem Emulator installiert sein, der bereits über ADB mit dem PC-Host verbunden ist. Der Benutzer kann entweder eine vordefinierte Liste von APIs aus mehreren Kategorien (z. B. Gerätedaten, Geräteinfo, SMS) oder eine benutzerdefinierte Liste von APIs über die Befehlszeile an das Skript übergeben. Das Tool speichert die aufgerufene API, die Parameter, den Rückgabewert sowie die Zeile und Datei, von der aus sie aufgerufen wurde.
Unten ist ein Beispiel für die Ausgabe:
{
"category": "Custom",
"class": "com.dave.popupre.MainActivity",
"method": "getText",
"args": [],
"calledFrom": "com.dave.popupre.MainActivity$1.onClick(MainActivity.java:26)",
"returnValue": "Hello Toast!",
"time": "03/09/2021, 14:43:06"
}
⚠️ Warnung mit Google Emulator
⚠️ Frida scheint auf Android 11-12 (x86_64) (Google Emulatore) defekt zu sein.
Allgemeine Anforderungen:
sudo apt-get install libjpeg-dev zlib1g-dev
pyenv install 3.8.0
pyenv virtualenv 3.8.0 papi-monitor
pyenv activate 3.8.0/envs/papi-monitor
pip3 install -r requirements
sudo apt-get install python3-virtualenv
virtualenv env
source env/bin/activate
pip install -r requirements
resources/frida-server/ herunterpython papi_monitor.py --package-name com.package.name --filter "Crypto"
python papi_monitor.py --file-apk app.apk --api-monitor api_personalized.json
python papi_monitor.py --package-name com.package.name --api-monitor api_personalized.json
python papi_monitor.py --package-name com.package.name --filter "ALL"
python papi_monitor.py --package-name com.package.name --api-monitor api_personalized.json --store-script True --filter "Crypto" "Crypto - Hash"
python papi_monitor.py --package-name com.package.name --api-monitor api_personalized.json --pinning-bypass --antiroot-bypass
Viele Frida-Skripte für Android finden Sie hier.
| Google Emulator | Ubuntu | Windows | MacOS |
|---|
| 7.x x86 | ✔️ | ✔️ | ✔️ |
| 8.x x86 | ✔️ | ✔️ | ✔️ |
| 9.0 x86 | ✔️ | ✔️ | ✔️ |
| 10.0 x86 | ✔️ | ✔️ | ✔️ |
| 11.0 x86 | ✔️ | ✔️ | ✔️ |
| 12.0 x86 | ✔️ | ✔️ | ✔️ |