
Robusta ferramenta baseada em Frida para despejar aplicativos iOS descriptografados como .ipa de um dispositivo com jailbreak, suporta aplicativos da App Store, sideloaded e do sistema.
Este projeto foi inspirado por frida-ios-dump.
Como recentemente encontrei problemas com essa ferramenta, decidi criar o frida-ipa-extract com maior robustez e adições para resolver problemas que enfrentamos hoje.
Extrai um .ipa descriptografado de um dispositivo iOS com jailbreak usando Frida. Suporta aplicativos instalados via App Store, sideload e aplicativos do sistema.
frida-server em execuçãoInstalação:
# Instalar como ferramenta standalone usando uv ou pipx
uv tool install git+https://github.com/lautarovculic/frida-ipa-extract.git
# Ou instalar como pacote editável (para desenvolvimento)
pip install -e .
# Usando o entry point (se instalado como ferramenta standalone)
frida-ipa-extract
# Ou usando o script diretamente
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 um aplicativo (ID do pacote ou nome do aplicativo)--pid <pid>: anexa a um PID em execuçãotarget (posicional): nome do aplicativo/ID do pacote de um aplicativo em execução-o <path>: caminho de saída do IPA (padrão é <AppName>.ipa)-U: conectar via USB-H <host> -P <port> -u <user> -p <pass>: conectar via SSH (paramiko)--sandbox: despeja a sandbox do aplicativo em <AppName>-sandbox no diretório atual--no-resume: mantém um aplicativo iniciado suspenso (útil se o aplicativo travar devido a detecções de jailbreak ao ser instrumentado)Se você não passar -f ou --pid, a ferramenta anexa a um aplicativo em execução. Se nenhum alvo for fornecido, ela listará os aplicativos em execução e pedirá que você escolha.
-U, a ferramenta abre um túnel local para o frida-server na porta 27042 e usa SFTP para baixar o pacote do aplicativo. Se você passar tanto -U quanto -H, USB é usado para Frida e SSH é usado apenas para transferência de arquivos.-f para iniciá-lo.frida-server esteja em execução no dispositivo antes de despejar.--no-resume ou transferência SSH.Frida attach timed out: o aplicativo pode bloquear o anexo; use -f para iniciar ou tente --no-resume.script has been destroyed durante o download: o aplicativo travou; tente novamente com --no-resume ou use transferência SSH (-H/-u/-p).No running apps found: o aplicativo não está em execução; use -f para iniciá-lo.