
Monitor de API en tiempo real basado en Frida para aplicaciones Android que registra las APIs invocadas, parámetros, valores de retorno y orígenes de llamada en categorías predefinidas o personalizadas.

PAPIMonitor (Python API Monitor para aplicaciones Android) es una herramienta de Python basada en Frida para monitorear APIs seleccionables por el usuario durante la ejecución de la aplicación. La aplicación debe estar instalada en un emulador ya conectado a través de ADB al PC host. El usuario puede elegir monitorear una lista predefinida de APIs dividida en varias categorías (ej., Datos del Dispositivo, Información del Dispositivo, SMS) o una lista personalizada de APIs pasada a través de la línea de comandos al script. La herramienta almacena la API invocada, los parámetros, el valor de retorno, y la línea y el archivo desde donde fue llamada.
A continuación se muestra un ejemplo de salida:
{
"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"
}
⚠️ Advertencia con el Emulador de Google
⚠️ Frida seems broken on Android 11-12 (x86_64) (Google Emulatore).
Requisitos generales:
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/python 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
Se pueden encontrar muchos scripts de Frida para Android aquí.
| Google Emulator | Ubuntu | Windows | MacOS |
|---|
| 7.x x86 | ✔️ | ✔️ | ✔️ |
| 8.x x86 | ✔️ | ✔️ | ✔️ |
| 9.0 x86 | ✔️ | ✔️ | ✔️ |
| 10.0 x86 | ✔️ | ✔️ | ✔️ |
| 11.0 x86 | ✔️ | ✔️ | ✔️ |
| 12.0 x86 | ✔️ | ✔️ | ✔️ |