Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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.

FeedContattoPrivacy© 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
10728 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

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

# Install libimobiledevice if needed
brew install libimobiledevice

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

Utilizzo

1. Elenca le app installate

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.

# 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

# 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:

/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"

# 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"

# List apps to find correct bundle ID:
python dump.py -l

"App non in esecuzione"

# Launch the app manually on your device first
# This is required due to Taurine jailbreak restrictions

Autenticazione SSH fallita

# 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:

# 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:

# 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:

# 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
Scarica lo strumento