Il était facile de monter l’iPod d’origine et d’y accéder comme à une clé USB. C’est aussi possible avec un iPhone, même si les approches varient selon le type de données avec lesquelles vous voulez travailler.
Dans cet article, nous explorons les approches suivantes :
| Technique | Fichiers accessibles | Prérequis |
|---|---|---|
| PTP | Photos et vidéos | Intégré à Windows et macOS |
| AFC | Photos, vidéos et certaines apps | iTunes |
| FUSE (sans jailbreak) | Photos, vidéos et certaines apps | Client FUSE gratuit |
| FUSE (avec jailbreak) | Tous les fichiers | Jailbreak, client FUSE gratuit |
| WebDAV via Filza | Tous les fichiers | Jailbreak, client WebDAV gratuit |
| AFC2 | Tous les fichiers | Jailbreak, plug-in AFC2, client AFC2 |
| Autres | Aucun | Ne fonctionne pas sur les versions récentes d’iOS |
Sur un appareil sans jailbreak, il n’est possible de travailler qu’avec les données des fichiers de l’appareil photo et de certaines apps. Dans cet article, nous examinons les deux approches.
PTP : accéder aux photos, aux vidéos et aux données de l’appareil photo comme à un disque monté
iOS présente automatiquement les appareils récents comme des appareils photo lorsqu’ils sont connectés en USB. Cela repose sur le Picture Transfer Protocol (PTP), un système assez limité qui permet de copier des photos dans les deux sens. Vous reconnaîtrez probablement les dossiers DCIM dans lesquels les photos apparaissent généralement.
PTP présente plusieurs inconvénients : le plus évident est que vous ne pouvez accéder qu’aux fichiers de l’appareil photo. De plus, PTP ne prend pas en charge des fonctions comme le renommage ou la modification de fichiers ou de dossiers : il doit les supprimer puis les recréer pour appliquer un changement. C’est lent.
Accéder aux photos et aux données d’apps via AFC avec iTunes
La base de connaissances d’Apple contient un article décrivant le partage de fichiers rudimentaire avec iTunes.
Accéder aux données d’apps en USB avec FUSE
FUSE est un système qui permet aux utilisateurs de monter des disques sur leur ordinateur Windows ou Mac sans avoir à modifier leur système avec des droits d’administrateur. FUSE signifie « filesystem in userspace » (système de fichiers en espace utilisateur) et existe sous différentes formes sur la plupart des plateformes. FUSE est lui-même une couche d’abstraction : ce n’est pas la technologie qui communique directement avec l’appareil ou la source de données, et une autre approche est généralement utilisée pour cela. Pour monter un iPhone comme un disque, FUSE communique avec l’iPhone via un autre protocole : SSH, AFC/AFC2, PTP ou WebDAV. Sous Windows, le système de fichiers en mode utilisateur Dokan est souvent utilisé, et sous macOS, osxfuse est populaire.
Du point de vue de l’utilisateur, comme FUSE normalise la présentation des données de l’appareil, le protocole sous-jacent responsable du montage n’a généralement pas d’importance.
Utiliser un montage FUSE sous macOS
Voyons cette approche sous macOS, et comment monter un appareil. Pour que cela fonctionne, vous devez installer le gestionnaire de paquets Homebrew gratuit et savoir utiliser le Terminal sous macOS.
Commençons par trouver l’UDID de votre appareil. Vous pouvez le faire avec la version gratuite d’iPhone Backup Extractor, avec la commande lsusb, ou avec ioreg -p IOUSB -l -w 0. Lancez iPhone Backup Extractor pendant que votre appareil est connecté, sélectionnez votre appareil et choisissez l’onglet « Info ». Vous verrez UDID dans la section « Identifiants matériels » :

Données de l’appareil affichées dans iPhone Backup Extractor
Préparons maintenant FUSE pour macOS :
$ 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.
Et installons ifuse, le code capable de communiquer avec les appareils iOS via FUSE :
$ brew install ifuse
Une fois ifuse installé, vous pouvez monter votre iPhone ou iPad en utilisant l’UDID obtenu précédemment :
$ mkdir ~/iphone
$ ifuse ~/iphone --udid 000000000000000000000000
Votre iPhone est alors monté comme un disque sur votre machine. Si vous souhaitez aller plus loin et explorer davantage de données, ce message sur superuser est très utile, et de même, ce message présente l’utilisation de l’outil usbmuxd.
Résoudre les erreurs que vous pourriez rencontrer
ifuse peut afficher le message suivant : Invalid device UDID specified, length needs to be 40 characters. À partir de l’iPhone X, Apple a modifié les UDID pour qu’ils utilisent 24 octets et un tiret (-) au lieu de l’ancien format de 40 octets.
Si vous obtenez Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device., vérifiez que votre appareil est connecté et qu’il n’affiche pas de dialogue « Faire confiance à cet ordinateur ». Vous devrez d’abord l’approuver. Si vous obtenez ensuite ERROR: Device 000000000000000000000000 returned unhandled error code -13, vous devrez déconnecter puis reconnecter l’appareil.
Pendant cette opération, mieux vaut vérifier qu’aucune autre application exécutée sur votre PC ou Mac ne tente de se connecter à votre appareil iOS.
Si vous ne montez jamais qu’un seul appareil iOS, vous pouvez simplement exécuter ifuse ~/iphone.
Besoin d’utiliser une version préliminaire de usbmuxd?
usbmuxd n’est pas mis à jour fréquemment ; il arrive donc que la prise en charge manque lors de la sortie d’une nouvelle version d’iOS. Pour y remédier, vous pouvez installer sa dernière version de développement comme suit :
brew unlink usbmuxd
brew install --HEAD usbmuxd
brew unlink libimobiledevice
brew install --HEAD libimobiledevice
brew cask uninstall osxfuse
brew cask install osxfuse idevicepair
Accéder aux données d’apps en USB avec FUSE sur un appareil jailbreaké
Les instructions sont exactement les mêmes que ci-dessus. Avec l’appareil jailbreaké, vous verrez immédiatement davantage de données. Pratique, non ?
Utiliser le serveur WebDAV de Filza pour accéder à la racine du système de fichiers iOS
Sur un appareil iOS jailbreaké, il est possible d’installer via Cydia un gestionnaire de fichiers nommé Filza. Dans les réglages de Filza, vous pouvez activer le mode serveur WebDAV. Cela fournit une interface assez simple permettant à d’autres appareils d’accéder à votre appareil iOS, même si c’est extrêmement peu sûr. WebDAV est un mécanisme très général pour travailler avec des données web, et de nombreux clients peuvent y accéder, y compris une interface web intégrée à Filza. Connectez-vous à votre appareil avec un navigateur web et vous verrez l’interface. Facile.
Utiliser AFC2 pour accéder aux fichiers iOS en USB
Qu’est-ce qu’AFC2 ?
AFC signifie « Apple File Conduit », le mécanisme propre à Apple pour transférer des données d’un appareil iOS vers un ordinateur hôte. AFC fonctionne sur tous les appareils iOS, mais il est verrouillé pour ne donner accès qu’à un ensemble limité de données. « AFC2 » est le surnom donné à une série d’outils créés par la communauté du jailbreak, qui émulent AFC tout en donnant accès à l’intégralité de l’appareil. La dernière implémentation d’AFC2 a été créée par Cannathea et est disponible sur GitHub.
AFC2 peut être installé depuis Cydia et, une fois installé, permet à un client AFC de parcourir l’appareil en intégralité.
Autres techniques pour accéder à toutes les données sur les appareils jailbreakés
Avant la sortie d’iOS 8, il existait plusieurs plug-ins Cydia pour appareils jailbreakés qui permettaient à un iPhone de se présenter comme une clé USB lorsqu’il était connecté. Hélas, ils ne sont plus pris en charge sur les versions récentes d’iOS.
Récupérer des fichiers supprimés depuis un appareil iOS monté
Si vous pouvez monter votre iPhone ou iPad comme un disque, vous pourriez penser récupérer des fichiers supprimés en manipulant directement le système de fichiers sur un appareil jailbreaké. Malheureusement, il est impossible de récupérer des fichiers ainsi depuis un iPhone, car le système de fichiers est chiffré. Même si vous retrouviez des fragments de données, vous ne pourriez pas les déchiffrer. Chaque fichier a sa propre clé de chiffrement, et ces clés sont supprimées avec le fichier.
Le guide de sécurité d’iOS d’Apple en parle brièvement à la page 17, dans la « présentation de l’architecture » :
Chaque fois qu’un fichier est créé sur la partition de données, la protection des données crée une nouvelle clé de 256 bits (la clé « par fichier ») et la transmet au moteur AES matériel, qui l’utilise pour chiffrer le fichier lors de son écriture dans la mémoire flash en mode AES-XTS. Sur les appareils dotés d’une puce A7, S2 ou S3, c’est le mode AES-CBC qui est utilisé. Le vecteur d’initialisation est calculé à partir du décalage de bloc dans le fichier, chiffré avec le hachage SHA-1 de la clé par fichier.
Le montage permet d’accéder facilement aux fichiers existants, mais il n’aide guère pour la récupération. Pour cela, il faut une sauvegarde iTunes ou iCloud, des données synchronisées avec iCloud, ou une image forensique de l’appareil antérieure à la suppression des données.
Bonus : monter votre ordinateur Windows depuis votre iPhone ou iPad
iOS 13 a introduit la prise en charge de SMB. Cela permet aux utilisateurs d’accéder à distance aux disques d’ordinateurs Windows. Voici comment procéder :
- Trouvez l’adresse IP de votre ordinateur Windows. La commande
ipconfigdevrait vous l’indiquer. - Sur l’ordinateur Windows, faites un clic droit sur le dossier à partager et choisissez
Properties→Sharing→Advanced sharing. Cliquez sur « Partager ce dossier ». - Dans l’onglet Partage, sélectionnez
Share..., puis, dans le menu déroulant, sélectionnez votre compte utilisateur, ajoutez-le et vérifiez qu’il dispose des autorisations « Lecture/écriture ». Cliquez sur « Partager » et « Appliquer », puis fermez la fenêtre. - Sur votre appareil iOS, ouvrez l’app « Fichiers » d’Apple et touchez « Se connecter au serveur ». Saisissez
smb://suivi de l’adresse IP de votre PC. Choisissez ensuite « Utilisateur enregistré » et saisissez le nom et le mot de passe de votre compte Windows.
Une fois cela fait, votre disque Windows devrait apparaître sur l’appareil iOS.