
Uma ferramenta de dump iOS Frida atualizada que suporta as APIs mais recentes do Frida 17.5.2
Uma ferramenta moderna de descriptografia de memória de aplicativos iOS construída para Frida 17.5.2+ com suporte completo para iOS 14-16 e múltiplos jailbreaks.
Status: ✅ Funcionando e Testado - Faz o dump e descriptografa aplicativos iOS com sucesso usando Frida 17.5.2 em:
/cores/binpack/ do palera1nO frida-ios-dump original (última atualização em 2020) usa APIs Frida obsoletas que não funcionam com o Frida 17.5.2. Esta ferramenta foi construída do zero usando APIs Frida modernas e foi especificamente testada com os patches de Frida compatíveis com Taurine.
paramiko (biblioteca SSH do Python - instalada automaticamente)iproxy (para conexão USB via libimobiledevice)will add my patch repo)cd /Users/username/git/frida-ios-dump-modern
# Create virtual environment with uv:
uv venv
source .venv/bin/activate
# Install dependencies
uv pip install -r requirements.txt
# Make script executable
chmod +x dump.py
# Install libimobiledevice if needed
brew install libimobiledevice
# Start USB tunnel (in a separate terminal)
iproxy 2222 22
python dump.py -l
Importante: O aplicativo deve estar em execução antes do dump devido às restrições do jailbreak Taurine.
# 1. Launch the app on your device manually
# 2. Run the dumper:
python dump.py com.example.app
# With custom SSH password:
python dump.py com.example.app -P your_password
# With custom output directory:
python dump.py com.example.app -o /path/to/output
# 1. Open Ventusky on your iOS device
# 2. Run:
python dump.py com.in-meteo.ventusky -P mypassword
/tmp no dispositivoPor que isso funciona no iOS 16:
A ferramenta cria:
Exemplo de estrutura de saída:
/tmp/Ventusky_decrypted/
├── Payload/
│ └── Ventusky.app/
│ ├── Ventusky (decrypted main binary)
│ ├── Frameworks/
│ │ └── *.framework (decrypted frameworks)
│ └── ... (other app resources)
└── Ventusky_decrypted.ipa
Esta ferramenta foi projetada para funcionar com o servidor Frida com patch Taurine que inclui:
# Check frida-server is running on device:
ssh -p 2222 root@localhost "ps aux | grep frida-server"
# Restart frida-server if needed:
ssh -p 2222 root@localhost "killall frida-server; frida-server &"
# List apps to find correct bundle ID:
python dump.py -l
# Launch the app manually on your device first
# This is required due to Taurine jailbreak restrictions
# Test SSH connection:
ssh -p 2222 root@localhost
# If password prompt works, use -P flag:
python dump.py com.example.app -P your_password
Se você estiver recebendo erros de metadados no iOS 16 após aplicar o patch:
Diagnostique o problema:
# Run diagnostic on dumped binary
./diagnose_ios16.sh /tmp/AppName_decrypted/Payload/AppName.app/AppName
# Compare with working iOS 14 binary
./diagnose_ios16.sh /path/to/working/ios14/binary
Pontos principais a verificar:
A ferramenta agora lê o tamanho original do arquivo do disco para evitar fazer o dump de regiões de memória expandidas em tempo de execução.
Boas notícias: A ferramenta agora define cryptid=0 automaticamente durante o dump, portanto o patch manual não é mais necessário!
Compatibilidade com iOS 16: A ferramenta usa uma abordagem híbrida:
Isso evita os erros "Is this a file manually extracted from the DYLD shared cache?" e "Objective-C Metadata looks mangled" no iOS 16.
Verifique o dump:
# Check that cryptid is 0 (should be automatic now)
otool -l Payload/App.app/App | grep cryptid
# Should show: cryptid 0
# Check file has all segments
otool -l Payload/App.app/App | grep "segname __"
# Should show: __TEXT, __DATA_CONST, __DATA, __LINKEDIT
# Open in Hopper - should work without warnings!
Patch manual (legado - não é mais necessário):
Se por algum motivo o patch automático de cryptid não funcionou:
# Check if patching needed
otool -l Payload/App.app/App | grep cryptid
# If shows cryptid 1, run:
python patch_cryptid.py Payload/App.app/App
mv Payload/App.app/App.patched Payload/App.app/App
Resultado esperado:
Detalhes Técnicos - Chained Fixups no iOS 16:
Esta ferramenta usa APIs modernas do Frida 17.5.2:
Se você achar esta ferramenta útil ou precisar de mais atualizações, considere apoiar o projeto que Boba precisa:
Licença MIT - Gratuita para pesquisa de segurança e fins educacionais.
Esta ferramenta é destinada a:
| API Antiga (Obsoleta) | Nova API (Moderna) | Observações |
|---|
Module.ensureInitialized() | Não necessária | ObjC inicializado automaticamente |
Module.findExportByName(null, 'name') | Module.findGlobalExportByName('name') | Exportações globais |
Process.getModuleByName() | Process.findModuleByName() | Retorna null se não encontrado |
| E/S de arquivo POSIX manual | new File(path, 'wb') | API File integrada |
Memory.writeByteArray() | file.write(arrayBuffer) | Gravação binária direta |