
Herramienta robusta basada en Frida para volcar aplicaciones iOS descifradas como .ipa desde un dispositivo con jailbreak, compatible con App Store, sideloaded y del sistema.
Este proyecto fue inspirado por frida-ios-dump.
Ya que recientemente encontré problemas con esa herramienta, decidí crear frida-ipa-extract con mayor robustez y adiciones para abordar los problemas que enfrentamos hoy.
Extrae un .ipa descifrado de un dispositivo iOS con jailbreak usando Frida. Soporta aplicaciones instaladas a través de la App Store, sideload y aplicaciones del sistema.
frida-server ejecutándoseInstalación:
# Install as a standalone tool using uv or pipx
uv tool install git+https://github.com/lautarovculic/frida-ipa-extract.git
# Or install as an editable package (for development)
pip install -e .
# Using the entry point (if installed as standalone tool)
frida-ipa-extract
# Or using the script directly
python extract.py -U -f com.example.app -o MyApp.ipa
python extract.py -U -f com.example.app -o MyApp.ipa --sandbox
python extract.py -U -f com.example.app -o MyApp.ipa --no-resume
python -m frida_ipa_extract -U --pid 1234 -o MyApp.ipa
./extract.py -U "My Running App"
python extract.py -H 192.168.100.32 -P 2222 -u root -p password -f com.example.app
Argumentos:
-f <target>: inicia una aplicación (id del paquete o nombre de la app)--pid <pid>: se adjunta a un PID en ejecucióntarget (posicional): nombre de la app/id del paquete de una app en ejecución-o <path>: ruta de salida del IPA (por defecto <AppName>.ipa)-U: conectar vía USB-H <host> -P <port> -u <user> -p <pass>: conectar vía SSH (paramiko)--sandbox: volcar el sandbox de la app a <AppName>-sandbox en el directorio actual--no-resume: mantener suspendida una app iniciada (útil si la app se bloquea debido a detecciones de jailbreak al ser instrumentada)Si no pasas -f o --pid, la herramienta se adjunta a una app en ejecución. Si no se proporciona un objetivo, listará las aplicaciones en ejecución y te pedirá que elijas.
-U, la herramienta abre un túnel local a frida-server en el puerto 27042 y usa SFTP para descargar el paquete de la app. Si pasas tanto -U como -H, se usa USB para Frida y SSH solo para la transferencia de archivos.-f para iniciarla.frida-server se esté ejecutando en el dispositivo antes de volcar.--no-resume o transferencia SSH.Frida attach timed out: la app puede bloquear el attach; usa -f para iniciar o prueba --no-resume.script has been destroyed durante la descarga: la app se bloqueó; reintenta con --no-resume o usa transferencia SSH (-H/-u/-p).No running apps found: la app no está en ejecución; usa -f para iniciarla.