Come accedere ai file di iPhone con un supporto per disco
È stato facile montare l'iPod originale e accedervi come un'unità USB. È possibile farlo anche con un iPhone, anche se ci sono approcci diversi a seconda del tipo di dati con cui vuoi lavorare.
In questo articolo esploreremo i seguenti diversi approcci:
Tecnica | File disponibili | Requisiti |
---|---|---|
PTP | Foto e video | Integrato in Windows e macOS |
AFC | Foto, video e alcune app | iTunes |
FUSE (nessun jailbreak) | Foto, video e alcune app | Client FUSE gratuito |
FUSE (con jailbreak) | Tutti i files | Jailbreak, client FUSE gratuito |
WebDAV via Filza | Tutti i files | Jailbreak, client WebDav gratuito |
afc2 | Tutti i files | Jailbreak, plugin AFC2, client AFC2 |
Altro | Nessuna | Non funziona su iOS moderno |
PTP: accesso a foto, video e dati della fotocamera come supporto per il disco
iOS presenta automaticamente i dispositivi moderni come videocamere quando sono connessi tramite USB. Questo utilizza Picture Transfer Protocol (PTP), che è un sistema abbastanza limitato che consente di copiare le foto avanti e indietro. Probabilmente riconoscerai le cartelle DCIM
cui le foto tendono ad apparire.
PTP ha una serie di svantaggi: ovviamente, non puoi accedere a file diversi dalla fotocamera. E PTP non supporta funzionalità come rinominare o modificare file o cartelle: invece, deve eliminarli e ricrearli per effettuare una modifica. Questo è lento.
Accesso a foto e dati delle app su AFC con iTunes
La knowledge base di Apple ha un articolo che descrive come gestire la condivisione di file rudimentale con iTunes .
Accesso ai dati dell'app tramite USB con FUSE
FUSE è un sistema che consente agli utenti di montare unità sui loro computer Windows o Mac senza dover apportare modifiche a livello di amministratore ai loro sistemi. FUSE sta per " filesystem in userspace " ed è disponibile in diverse forme sulla maggior parte delle piattaforme. FUSE stesso è uno strato di astrazione, in quanto non è la tecnologia che comunica direttamente con il dispositivo o la fonte di dati: di solito, per questo si usa un altro approccio. In caso di montaggio di un iPhone come unità, FUSE comunica con l'iPhone utilizzando un altro protocollo: SSH, AFC / AFC2, PTP o WebDAV. Su Windows, viene spesso utilizzato il popolare file system Dokan in modalità utente , e su macOS osxfuse è popolare.
Dal punto di vista dell'utente, poiché FUSE normalizza il modo in cui vengono presentati i dati del dispositivo, di solito non importa quale protocollo sottostante è responsabile per il montaggio.
Utilizzando un mount FUSE su macOS
Dimostriamo questo approccio su macOS e come montare un dispositivo. Affinché funzioni, è necessario installare l' Homebrew Package Manager gratuito e acquisire familiarità con l'utilizzo di Terminal su macOS.
Prima di tutto, troviamo l' UDID
del tuo dispositivo. Puoi farlo con la versione gratuita di iPhone Backup Extractor , con il comando lsusb
o con ioreg -p IOUSB -l -w 0
. Esegui iPhone Backup Extractor mentre il tuo dispositivo è connesso, seleziona il tuo dispositivo e scegli la scheda "Informazioni". Vedrai l' UDID
mostrato nella sezione "Identificatori hardware":
Quindi, prendiamo FUSE per macOS pronto:
$ brew tap homebrew/cask $ brew cask install osxfuse ==> Caveats To install and/or use osxfuse you may need to enable their kernel extension in System Preferences → Security & Privacy → General For more information refer to vendor documentation or the Apple Technical Note: https://developer.apple.com/library/content/technotes/tn2459/_index.html You must reboot for the installation of osxfuse to take effect.
E installiamo ifuse
, che è il codice che può comunicare con i dispositivi iOS tramite FUSE:
$ brew install ifuse
Con ifuse
installato, è possibile montare il tuo iPhone o iPad usando l' UDID
abbiamo ottenuto in precedenza:
$ mkdir ~/iphone $ ifuse ~/iphone --udid 000000000000000000000000
Questo monterà il tuo iPhone come un disco sulla tua macchina. Se desideri andare oltre e approfondire più dati, questo post di superutente è piuttosto utile e, allo stesso modo, questo post copre l'uso dello strumento usbmuxd.
usbmuxd?
usare una versione pre-release di usbmuxd?
usbmuxd
isn't frequently updated, so occasionally when a new version of iOS is released, it lacks support. To fix that, you can install the latest development version of it as below:
brew unlink usbmuxd brew install --HEAD usbmuxd brew unlink libimobiledevice brew install --HEAD libimobiledevice brew cask uninstall osxfuse brew cask install osxfuse idevicepair
Accesso ai dati delle app tramite USB con FUSE su un dispositivo jailbroken
Le istruzioni sono esattamente le stesse di sopra. Con il dispositivo jailbroken, vedrai più dati subito. Niente, eh?
Utilizzo del server WebDAV di Filza per l'accesso ai file root di iOS
Su un dispositivo iOS jailbroken, è possibile installare un'app di gestione file chiamata Filza tramite Cydia. Sotto le impostazioni di Fileza, è possibile abilitare la modalità server WebDAV . Ciò fornisce un'interfaccia abbastanza semplice per altri dispositivi per accedere al tuo dispositivo iOS, anche se è estremamente insicuro. WebDAV è un meccanismo molto generale per lavorare con i dati web e ci sono molti client che possono accedervi: inclusa un'interfaccia web integrata in Filza. Collegati al tuo dispositivo con un browser web e vedrai l'interfaccia. Facile.
Utilizzando AFC2 per accedere ai file iOS tramite USB
AFC2 può essere installato da Cydia e una volta installato consentirà a un client AFC di navigare nel dispositivo nella sua interezza.
Altre tecniche per accedere a tutti i dati su dispositivi jailbroken
Prima del rilascio di iOS 8, c'erano diversi plugin Cydia per dispositivi jailbroken che avrebbero fatto sì che un iPhone si presentasse come una chiavetta USB quando connesso . Purtroppo, questi non sono più supportati sulle versioni moderne di iOS.
Ripristino di file cancellati da un dispositivo iOS montato
Se riesci a montare il tuo iPhone o iPad come unità, potresti pensare di poter recuperare i file eliminati manipolando il filesystem direttamente su un dispositivo jailbroken. Sfortunatamente, non puoi recuperare i file in questo modo da un iPhone poiché il filesystem è crittografato. Anche se potessi trovare bit di dati, non saresti in grado di decrittografarli. Ogni file ha la propria chiave di crittografia e tali chiavi vengono eliminate al momento dell'eliminazione.
La Guida alla sicurezza iOS di Apple tratta questo brevemente a pagina 17 nella "panoramica dell'architettura":
Ogni volta che viene creato un file sulla partizione dati, Data Protection crea una nuova chiave a 256 bit (la chiave "per-file") e la consegna al motore hardware AES, che utilizza la chiave per crittografare il file così com'è scritto per flash memory usando la modalità AES-XTS. Sui dispositivi con SoC A7, S2 o S3, viene utilizzato AES-CBC. Il vettore di inizializzazione viene calcolato con l'offset del blocco nel file, crittografato con l'hash SHA-1 della chiave per file.
Il montaggio può funzionare bene per ottenere file esistenti, ma non è di grande aiuto per il ripristino. Per questo, è necessario un backup di iTunes o iCloud, dati sincronizzati con iCloud o un'immagine forense del dispositivo prima che i dati fossero eliminati.
Bonus: montare il tuo computer Windows dal tuo iPhone o iPad
iOS 13 ha visto l'introduzione del supporto SMB a iOS. Ciò consente agli utenti di accedere in remoto alle unità su computer Windows. È così che funziona:
Trova l'indirizzo IP del tuo computer Windows. Il comando
ipconfig
dovrebbe dirti questo.Sul computer Windows, fai clic con il pulsante destro del mouse sulla cartella che desideri condividere e scegli
Properties
→Sharing
→Sharing
Advanced sharing
. Fai clic su "Condividi questa cartella".Nella scheda Condivisione, seleziona
Share...
, quindi nel menu a discesa seleziona il tuo account utente, aggiungilo e assicurati che disponga delle autorizzazioni "Lettura / Scrittura". Fai clic su "Condividi" e "Applica" e chiudi la finestra.Sul tuo dispositivo iOS, apri l'app "File" di Apple, tocca "Connetti a un server". Digita
smb://
seguito dall'indirizzo IP del tuo PC. Quindi scegli "Utente registrato" e inserisci il nome e la password del tuo account Windows.
Fatto ciò, l'unità Windows dovrebbe apparire sul dispositivo iOS.