Come esplorare un backup iPhone senza utility a pagamento

Se hai mai provato a estrarre una chat specifica da un backup iPhone o semplicemente volevi vedere quali file sono archiviati in un backup, probabilmente ti sei scontrato con le limitazioni degli strumenti standard di Apple. Finder esegue il backup su base "tutto o niente". O ripristini l'intera immagine sul telefono rischiando di sovrascrivere dati nuovi, oppure paghi circa 50 dollari all'anno per qualcosa come iMazing.
Di recente mi sono imbattuto nel progetto Phosphor dello sviluppatore Momen Basel. È un client macOS nativo con codice sorgente aperto sotto licenza MIT che gestisce quasi tutte le attività di gestione iOS senza abbonamenti o dipendenza da iCloud.
Cosa può fare l'app
Phosphor si occupa delle attività di routine che prima richiedevano di mantenere software a pagamento o compilare utility da riga di comando dal codice sorgente.
+-------------------------------------------------------------+
| Phosphor (macOS 14+ / SwiftUI) |
| ├── Бэкапы (полные, инкрементальные, просмотр Manifest.db) |
| ├── Экспорт iMessage, WhatsApp, заметок и контактов |
| ├── Просмотр файловой системы через AFC |
| └── Диагностика (батарея, стриминг syslog, краш-репорты) |
+-------------------------------------------------------------+
│ │
▼ (primary) ▼ (fallback)
[pymobiledevice3] [libimobiledevice]
Parsing e navigazione dei backup
La funzionalità principale di Phosphor è lavorare con i backup locali. Apre Manifest.db, legge i database SQLite al suo interno e organizza i dati in categorie familiari: foto, messaggi, allegati, file di sistema.
La cosa interessante è che l'app funziona con i backup crittografati fin da subito. Phosphor decrittografa i dati nativamente usando algoritmi PBKDF2 e AES-256-CBC, senza workaround o chiamate a script Python esterni. Inserisci la password una volta, il programma mantiene la chiave in memoria per la sessione, oppure la salva nel Portachiavi di macOS se spunti la casella.
Esportazione di messaggi e media
Se hai bisogno di estrarre messaggi da iMessage o SMS, Phosphor mostra le conversazioni in un'interfaccia familiare con bolle blu e grigie. Le conversazioni possono essere esportate in vari formati:
- HTML con stile visivo del messenger preservato
- JSON o CSV pulito per ulteriore parsing e analisi
- TXT normale
La stessa estrazione funziona per il database WhatsApp (ChatStorage.sqlite), Note Apple, contatti in formato vCard ed eventi del calendario in .ics.
Installazione IPA e accesso diretto ai file
Attraverso il protocollo Apple File Conduit (AFC), l'utility ti permette di navigare la struttura dei file del dispositivo senza bisogno di montare dischi FUSE nel sistema. Puoi esplorare le sandbox delle app (Documenti, Library, cartelle tmp), copiare file da lì con semplice drag-and-drop, oppure caricare rapidamente .ipa su un iPhone di test collegato.
Diagnostica hardware e visualizzazione log
Gli sviluppatori e i tester troveranno utile la sezione diagnostica. Phosphor legge in tempo reale:
- Stato preciso della batteria: capacità di fabbrica e attuale in mAh, conteggio cicli di ricarica e temperatura attuale.
- Suddivisione dettagliata dell'archiviazione per categorie.
- Stream del log di sistema (syslog) con evidenziazione a colori dei livelli di log (Errore, Avviso, Debug) e filtraggio.
- Report di crash e lista dei processi attivi sul dispositivo.
Dettagli tecnici sotto il cofano
Phosphor è scritto in Swift 5.9 e SwiftUI per macOS 14 Sonoma e versioni successive. L'autore ha fatto diverse interessanti decisioni architetturali che rendono l'app veloce e non si porta dietro una montagna di dipendenze non necessarie.
- Due backend tra cui scegliere. Il motore principale è la libreria
pymobiledevice3, che supporta le attuali versioni iOS incluse le release recenti. Se non è disponibile per qualsiasi motivo, l'interfaccia passa automaticamente al classicolibimobiledevice. - Nessun binding C. Invece della complessa compilazione di librerie C all'interno del progetto, la logica comunica con le utility da riga di comando tramite subprocess. Questo semplifica la manutenzione del progetto.
- Parsing SQLite diretto tramite librerie di sistema. Nessun pacchetto Swift di terze parti per la lettura dei database — Phosphor usa il
sqlite3di sistema nativo. - Archiviazione sicura dei backup. A partire dalla versione 1.0.4, Phosphor salva le copie in
~/Documents/Phosphor Backups. Questo le isola dai backup standard di Finder e non richiede di concedere all'app l'accesso completo al disco.
Come installare ed eseguire
Il modo più veloce per distribuire l'app è tramite Homebrew Cask:
brew tap momenbasel/phosphor
brew install --cask phosphor
Il backend principale richiede l'installazione di pymobiledevice3:
brew install pipx
pipx install pymobiledevice3
Se vuoi compilare l'app manualmente dal repository:
# Клонируем репозиторий
git clone https://github.com/momenbasel/Phosphor.git
cd Phosphor
# Собираем релизный бинарник
swift build -c release
# Упаковываем в .app бандл
bash Scripts/build.sh
# Запускаем собранный клиент
open .build/Phosphor.app
Quando colleghi il telefono via cavo per la prima volta, devi sbloccare lo schermo e toccare "Affida questo computer".
In sintesi
Phosphor si è rivelato uno strumento utile per chi occasionalmente ha bisogno di estrarre file specifici da un iPhone, controllare l'usura della batteria o esportare un archivio funzionante dei messaggi.
Chi troverà utile questo progetto:
- Proprietari di Mac che non vogliono pagare per software proprietario ingombrante solo per fare un paio di esportazioni all'anno.
- Ingegneri QA e sviluppatori iOS per raccogliere rapidamente log di crash, controllare database delle app e monitorare syslog.
- Chi archivia localmente archivi di messaggi e contatti senza fare affidamento sul cloud.
Il codice sorgente è su GitHub sotto licenza MIT, il progetto è mantenuto attivamente e sostituisce facilmente gli scenari base dei gestori di dispositivi a pagamento.
Progetti correlati