
Un outil de dump iOS Frida mis à jour prenant en charge les dernières API de Frida 17.5.2
Un outil moderne de décryptage mémoire d'applications iOS conçu pour Frida 17.5.2+ avec une prise en charge complète d'iOS 14-16 et de multiples jailbreaks.
Statut : ✅ Fonctionnel et testé - Extrait et décrypte avec succès des applications iOS à l'aide de Frida 17.5.2 sur :
/cores/binpack/ de palera1nL'outil original frida-ios-dump (dernière mise à jour en 2020) utilise des API Frida obsolètes qui ne fonctionnent pas avec Frida 17.5.2. Cet outil est développé à partir de zéro avec les API Frida modernes et a été spécifiquement testé avec les correctifs Frida compatibles Taurine.
paramiko (bibliothèque SSH Python - installée automatiquement)iproxy (pour la connexion 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
Important : L'application doit être en cours d'exécution avant l'extraction en raison des restrictions du 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 sur l'appareilPourquoi cela fonctionne sur iOS 16 :
L'outil crée :
Exemple de structure de sortie :
/tmp/Ventusky_decrypted/
├── Payload/
│ └── Ventusky.app/
│ ├── Ventusky (decrypted main binary)
│ ├── Frameworks/
│ │ └── *.framework (decrypted frameworks)
│ └── ... (other app resources)
└── Ventusky_decrypted.ipa
Cet outil est conçu pour fonctionner avec le serveur Frida patché pour Taurine, qui inclut :
# 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
Si vous obtenez des erreurs de métadonnées sur iOS 16 après le patch :
Diagnostiquer le problème :
# 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
Points clés à vérifier :
L'outil lit désormais la taille du fichier original depuis le disque pour éviter d'extraire des régions mémoire étendues à l'exécution.
Bonne nouvelle : L'outil définit désormais automatiquement cryptid=0 lors de l'extraction, donc le patch manuel n'est plus nécessaire !
Compatibilité iOS 16 : L'outil utilise une approche hybride :
Cela empêche les erreurs « Is this a file manually extracted from the DYLD shared cache? » et « Objective-C Metadata looks mangled » sur iOS 16.
Vérifier l'extraction :
# 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 manuel (hérité - plus nécessaire) :
Si pour une raison quelconque le patch automatique de cryptid n'a pas fonctionné :
# 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
Résultat attendu :
Détails techniques - Fixups chaînés iOS 16 :
Cet outil utilise les API modernes de Frida 17.5.2 :
Si vous trouvez cet outil utile ou souhaitez des mises à jour, envisagez de soutenir le projet. Boba en a besoin :
Licence MIT - Gratuit pour la recherche en sécurité et à des fins éducatives.
Cet outil est destiné à :
| Ancienne API (obsolète) | Nouvelle API (moderne) | Remarques |
|---|
Module.ensureInitialized() | Non nécessaire | ObjC auto-initialisé |
Module.findExportByName(null, 'name') | Module.findGlobalExportByName('name') | Exports globaux |
Process.getModuleByName() | Process.findModuleByName() | Renvoie null si introuvable |
| E/S de fichiers POSIX manuelles | new File(path, 'wb') | API File intégrée |
Memory.writeByteArray() | file.write(arrayBuffer) | Écriture binaire directe |