Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
frida-ios-dump-modern — Uno strumento di dump iOS per Frida aggiornato, con supporto per le ultime API di Frida 17.5.2 | Kitploit
Strumenti/GitHubGitHub/jwalker/frida-ios-dump-modern
Sicurezza iOSPentesting di App MobiliReverse EngineeringAnalisi MalwareSicurezza MobileAnalisi di Binari
GitHubjwalker/frida-ios-dump-modern

frida-ios-dump-modern

Uno strumento di dump iOS per Frida aggiornato, con supporto per le ultime API di Frida 17.5.2

Vedi Repository
97 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Moderno dumper IPA per iOS

Uno strumento moderno di decrittazione della memoria delle applicazioni iOS, costruito per Frida 17.5.2+ con pieno supporto per iOS 14-16 e multipli jailbreak.

Stato: ✅ Funzionante e testato - Dumpa e decritta con successo le app iOS usando Frida 17.5.2 su:

  • iOS 14.7.1 + jailbreak Taurine (iPad mini 5)
  • iOS 16.7.12 + jailbreak palera1n (iPhone 8)

Caratteristiche

  • ✅ Compatibile con Frida 17.5.2+ (usa NativePointer.readByteArray)
  • ✅ Funziona con il jailbreak Taurine (iOS 14.7.1)
  • ✅ Funziona con il jailbreak palera1n (iOS 16.7.12)
  • ✅ Gestisce i percorsi /cores/binpack/ del jailbreak palera1n
  • ✅ Decrittazione rapida tramite dump della memoria + patch manuale del cryptid
  • ✅ Nessuna chiamata API deprecata
  • ✅ Codice pulito e manutenibile
  • ✅ Packaging IPA automatico
  • ✅ Usa Python paramiko (nessuno strumento esterno necessario)
  • ✅ Reporting dettagliato dell'avanzamento

Perché questo strumento?

L'originale frida-ios-dump (ultimo aggiornamento 2020) usa API Frida deprecate che non funzionano con Frida 17.5.2. Questo strumento è costruito da zero usando le moderne API Frida ed è specificamente testato con le patch Frida compatibili con Taurine.

Requisiti

Requisiti macOS/Host

  • Python 3.8+
  • Frida 17.5.2+
  • paramiko (libreria SSH Python - installata automaticamente)
  • iproxy (per connessione USB tramite libimobiledevice)

Requisiti del dispositivo iOS

  • Dispositivo iOS con jailbreak (testato su iOS 14.7.1 + Taurine)
  • frida-server patchato in esecuzione (vedi le patch Frida in will add my patch repo)
  • Accesso SSH abilitato

Installazione

root@kitploit:~
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

Configurazione della connessione USB

root@kitploit:~
# Install libimobiledevice if needed
brew install libimobiledevice

# Start USB tunnel (in a separate terminal)
iproxy 2222 22

Utilizzo

1. Elenca le app installate

root@kitploit:~
python dump.py -l

2. Dump di un'applicazione

Importante: l'app deve essere in esecuzione prima del dump a causa delle restrizioni del jailbreak Taurine.

root@kitploit:~
# 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

3. Esempio: Dump di Ventusky

root@kitploit:~
# 1. Open Ventusky on your iOS device
# 2. Run:
python dump.py com.in-meteo.ventusky -P mypassword

Come funziona

Approccio compatibile iOS 16 (metodo ibrido)

  1. Attach: si connette al processo dell'app in esecuzione tramite Frida
  2. Enumerate: elenca tutti i moduli (binari) caricati nell'app
  3. Read Disk Binary: legge il binario crittografato originale dal filesystem del dispositivo
    • Critico per iOS 16: preserva i dati LC_DYLD_CHAINED_FIXUPS
    • Mantiene intatti i segmenti DATA originali con le catene di fixup
  4. Read Decrypted Segment: legge SOLO il segmento TEXT crittografato dalla memoria
    • iOS decritta il codice in fase di esecuzione
    • Leggiamo solo la parte decrittata, non l'intero binario
  5. Replace & Patch:
    • Sostituisci il segmento TEXT crittografato nel binario su disco con la memoria decrittata
    • Imposta cryptid=0 in LC_ENCRYPTION_INFO
    • Tutti i segmenti DATA rimangono intatti (preserva i fixup)
  6. Dump: scrive il binario ibrido in /tmp sul dispositivo
  7. Download: trasferisce i file dal dispositivo tramite SCP via paramiko
  8. Package: crea un file IPA decrittato pronto per l'analisi

Perché funziona su iOS 16:

  • iOS 16 usa fixup a catena: i puntatori sono memorizzati come "catene" che dyld risolve in fase di esecuzione
  • Il dump dalla memoria ci fornisce puntatori risolti, ma gli strumenti si aspettano catene di fixup
  • Leggendo il binario su disco e sostituendo solo il TEXT crittografato, preserviamo i fixup originali
  • Questo è lo stesso approccio usato da bagbak e altri dumper moderni

Output

Lo strumento crea:

  • Binari decrittati individuali
  • Bundle completo dell'app con binari decrittati
  • File IPA impacchettato pronto per l'analisi

Struttura di output di esempio:

root@kitploit:~
/tmp/Ventusky_decrypted/
├── Payload/
│   └── Ventusky.app/
│       ├── Ventusky (decrypted main binary)
│       ├── Frameworks/
│       │   └── *.framework (decrypted frameworks)
│       └── ... (other app resources)
└── Ventusky_decrypted.ipa

Compatibilità con il jailbreak Taurine

Questo strumento è progettato per funzionare con il server Frida patchato per Taurine che include:

  1. Nessuna sospensione dei thread su iOS 14: previene i kernel panic
  2. Nessuna iniezione in launchd: rispetta le restrizioni di Taurine
  3. Avvio manuale dell'app richiesto: le app devono essere avviate manualmente prima del dump

Risoluzione dei problemi

"Nessun dispositivo USB trovato"

root@kitploit:~
# 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 &"

"App non trovata"

root@kitploit:~
# List apps to find correct bundle ID:
python dump.py -l

"App non in esecuzione"

root@kitploit:~
# Launch the app manually on your device first
# This is required due to Taurine jailbreak restrictions

Autenticazione SSH fallita

root@kitploit:~
# Test SSH connection:
ssh -p 2222 root@localhost

# If password prompt works, use -P flag:
python dump.py com.example.app -P your_password

iOS 16: "i metadati Objective-C appaiono alterati" in Hopper

Se ricevi errori sui metadati su iOS 16 dopo la patch:

Diagnostica il problema:

root@kitploit:~
# 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

Cose fondamentali da controllare:

  1. La dimensione del file corrisponde al binario originale su disco
  2. Cerca LC_DYLD_CHAINED_FIXUPS (specifico di iOS 16)
  3. Verifica che cryptid sia 0 dopo la patch

Lo strumento ora legge la dimensione del file originale dal disco per evitare di eseguire il dump delle regioni di memoria espanse in fase di esecuzione.

Post-dump: verifica

Buone notizie: lo strumento ora imposta automaticamente cryptid=0 durante il dump, quindi la patch manuale non è più richiesta!

Compatibilità con iOS 16: lo strumento usa un approccio ibrido:

  1. Legge il binario originale dal disco (preserva i fixup a catena)
  2. Sostituisce solo il segmento TEXT crittografato con la memoria decrittata
  3. Imposta cryptid=0 automaticamente
  4. Preserva tutti i segmenti DATA con le catene di fixup originali intatte

Questo previene gli errori "Il file è stato estratto manualmente dalla cache condivisa DYLD?" e "I metadati Objective-C appaiono alterati" su iOS 16.

Verifica il dump:

root@kitploit:~
# 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 manuale (legacy - non più necessaria):

Se per qualche motivo la patch automatica del cryptid non ha funzionato:

root@kitploit:~
# 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

Risultato atteso:

  • ✅ Hopper si apre senza avvisi "ciphered" o "metadati alterati"
  • ✅ Tutte le classi e i metodi Objective-C visibili
  • ✅ Nomi delle procedure risolti correttamente (non sub_XXXXX)
  • ✅ Funziona sia su iOS 14 (Taurine) che su iOS 16 (palera1n)

Dettagli tecnici - fixup a catena iOS 16:

  • Problema: iOS 16 usa LC_DYLD_CHAINED_FIXUPS per l'autenticazione dei puntatori
  • Questione: il dump dalla memoria fornisce puntatori risolti, non catene di fixup
  • Soluzione: approccio ibrido
    1. Leggi il binario crittografato originale dal disco (ha le catene di fixup)
    2. Leggi SOLO il segmento TEXT decrittato dalla memoria
    3. Sostituisci il TEXT crittografato nel binario su disco con la memoria decrittata
    4. Preserva i segmenti DATA dal disco (catene di fixup intatte)
    5. Imposta cryptid=0 automaticamente
  • Risultato: il binario ha codice decrittato + catene di fixup originali = Hopper felice!

Differenze API rispetto al vecchio frida-ios-dump

Questo strumento usa le moderne API Frida 17.5.2:

Supporto

Se trovi utile questo strumento o hai bisogno di ulteriori aggiornamenti, considera di supportare il progetto. Boba ha bisogno di:

☕ Buy Me a Boba

Licenza

Licenza MIT - Gratuito per ricerca sulla sicurezza e scopi educativi.

Crediti

  • Costruito per l'uso con Frida patchato per Taurine (caso di studio in arrivo)
  • Ispirato dal frida-ios-dump originale di AloneMonkey
  • Implementazione API moderna per Frida 17.5.2+

Nota sulla sicurezza

Questo strumento è pensato per:

  • Ricerca sulla sicurezza
  • Sfide CTF
  • Scopi educativi
  • ???
  • Profitto
Scarica lo strumento
Vecchia API (Deprecata)Nuova API (Moderna)Note
Module.ensureInitialized()Non necessarioObjC auto-inizializzato
Module.findExportByName(null, 'name')Module.findGlobalExportByName('name')Esportazioni globali
Process.getModuleByName()Process.findModuleByName()Restituisce null se non trovato
I/O file POSIX manualenew File(path, 'wb')API File integrata
Memory.writeByteArray()file.write(arrayBuffer)Scrittura binaria diretta