De oorspronkelijke iPod was eenvoudig te koppelen en te gebruiken als USB-schijf. Dat kan ook met een iPhone, al zijn er verschillende aanpakken, afhankelijk van het type gegevens waarmee je wilt werken.
In dit artikel bekijken we de volgende aanpakken:
| Techniek | Beschikbare bestanden | Vereisten |
|---|---|---|
| PTP | Foto’s en video’s | Ingebouwd in Windows en macOS |
| AFC | Foto’s, video’s en sommige apps | iTunes |
| FUSE (zonder jailbreak) | Foto’s, video’s en sommige apps | Gratis FUSE-client |
| FUSE (met jailbreak) | Alle bestanden | Jailbreak, gratis FUSE-client |
| WebDAV via Filza | Alle bestanden | Jailbreak, gratis WebDAV-client |
| AFC2 | Alle bestanden | Jailbreak, AFC2-plug-in, AFC2-client |
| Overig | Geen | Werkt niet op moderne iOS-versies |
Op een apparaat zonder jailbreak kun je alleen werken met gegevens in camerabestanden en geselecteerde apps. In dit artikel bekijken we beide aanpakken.
PTP: foto’s, video’s en cameragegevens openen als schijfkoppeling
iOS presenteert moderne apparaten automatisch als camera’s wanneer ze via USB zijn aangesloten. Hierbij wordt Picture Transfer Protocol (PTP) gebruikt, een vrij beperkt systeem waarmee je foto’s heen en weer kunt kopiëren. Je herkent waarschijnlijk de DCIM-mappen waarin foto’s meestal verschijnen.
PTP heeft een aantal nadelen: het meest in het oog springend is dat je alleen bij bestanden van de camera kunt. Ook ondersteunt PTP geen functies zoals het hernoemen of wijzigen van bestanden of mappen: in plaats daarvan moeten ze worden verwijderd en opnieuw aangemaakt om een wijziging door te voeren. Dat is traag.
Foto’s en appgegevens openen via AFC met iTunes
In de kennisbank van Apple staat een artikel over eenvoudig bestanden delen met iTunes.
Appgegevens openen via USB met FUSE
FUSE is een systeem waarmee gebruikers schijven kunnen koppelen op hun Windows- of Mac-computer zonder wijzigingen op beheerdersniveau aan hun systeem aan te brengen. FUSE staat voor „filesystem in userspace” en is in verschillende vormen beschikbaar op de meeste platforms. FUSE zelf is een abstractielaag: het is niet de technologie die rechtstreeks met het apparaat of de gegevensbron communiceert, want daarvoor wordt meestal een andere aanpak gebruikt. Bij het koppelen van een iPhone als schijf communiceert FUSE met de iPhone via een ander protocol: SSH, AFC/AFC2, PTP of WebDAV. Op Windows wordt vaak het populaire Dokan-bestandssysteem in gebruikersmodus gebruikt en op macOS is osxfuse populair.
Voor de gebruiker maakt het meestal niet uit welk onderliggend protocol voor de koppeling zorgt, omdat FUSE de manier waarop de gegevens van het apparaat worden gepresenteerd normaliseert.
Een FUSE-koppeling gebruiken op macOS
We laten die aanpak zien op macOS en hoe je een apparaat koppelt. Hiervoor moet je de gratis Homebrew Package Manager installeren en vertrouwd zijn met het gebruik van Terminal op macOS.
Laten we eerst de UDID van je apparaat opzoeken. Dat kan met de gratis versie van iPhone Backup Extractor, met de opdracht lsusb of met ioreg -p IOUSB -l -w 0. Start iPhone Backup Extractor terwijl je apparaat is aangesloten, selecteer je apparaat en kies het tabblad „Info”. In het gedeelte „Hardware identifiers” zie je de UDID:

Apparaatgegevens in iPhone Backup Extractor
Laten we vervolgens FUSE voor macOS klaarmaken:
$ 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.
En laten we ifuse installeren, de code die via FUSE met iOS-apparaten kan communiceren:
$ brew install ifuse
Als ifuse is geïnstalleerd, kun je je iPhone of iPad koppelen met de eerder verkregen UDID:
$ mkdir ~/iphone
$ ifuse ~/iphone --udid 000000000000000000000000
Hiermee wordt je iPhone als schijf op je computer gekoppeld. Wil je verder gaan en meer gegevens bekijken, dan is dit superuser-bericht best handig, en in dit bericht wordt het gebruik van het hulpprogramma usbmuxd behandeld.
Problemen oplossen bij foutmeldingen
ifuse kan een foutmelding geven: Invalid device UDID specified, length needs to be 40 characters. Vanaf de iPhone X heeft Apple UDID’s zo aangepast dat ze 24 bytes en een streepje (-) gebruiken in plaats van het oude formaat van 40 bytes.
Krijg je Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device., zorg dan dat je apparaat is aangesloten en geen dialoogvenster „Vertrouw deze computer” toont. Je moet dat eerst goedkeuren. Krijg je daarna ERROR: Device 000000000000000000000000 returned unhandled error code -13, dan moet je het apparaat loskoppelen en opnieuw aansluiten.
Het loont om hierbij te controleren dat er op je pc of Mac geen andere toepassingen draaien die mogelijk proberen verbinding te maken met je iOS-apparaat.
Als je maar één iOS-apparaat gaat koppelen, kun je gewoon ifuse ~/iphone uitvoeren.
Een pre-releaseversie van usbmuxd? gebruiken
usbmuxd wordt niet vaak bijgewerkt, dus wanneer er een nieuwe versie van iOS verschijnt, ontbreekt soms de ondersteuning. Om dat op te lossen, kun je de nieuwste ontwikkelversie ervan installeren, zoals hieronder:
brew unlink usbmuxd
brew install --HEAD usbmuxd
brew unlink libimobiledevice
brew install --HEAD libimobiledevice
brew cask uninstall osxfuse
brew cask install osxfuse idevicepair
Appgegevens openen via USB met FUSE op een apparaat met jailbreak
De instructies zijn precies hetzelfde als hierboven. Als het apparaat een jailbreak heeft, zie je meteen meer gegevens. Handig, toch?
De WebDAV-server van Filza gebruiken voor toegang tot het rootbestandssysteem van iOS
Op een iOS-apparaat met jailbreak kun je via Cydia een bestandsbeheerapp met de naam Filza installeren. In de instellingen van Filza kun je de modus voor een WebDAV-server inschakelen. Dit biedt andere apparaten een vrij eenvoudige interface om je iOS-apparaat te openen, maar is uiterst onveilig. WebDAV is een heel algemeen mechanisme om met webgegevens te werken, en er zijn veel clients die het kunnen openen, waaronder een webinterface die in Filza is ingebouwd. Maak met een webbrowser verbinding met je apparaat en je ziet de interface. Eenvoudig.
AFC2 gebruiken om iOS-bestanden via USB te openen
Wat is AFC2?
AFC staat voor „Apple File Conduit”, het eigen mechanisme van Apple om gegevens van een iOS-apparaat naar een hostcomputer over te zetten. AFC draait op elk iOS-apparaat, maar is beperkt tot toegang tot een klein aantal gegevens. „AFC2” is de bijnaam voor een reeks hulpprogramma’s van de jailbreakgemeenschap die AFC nabootsen maar toegang bieden tot het hele apparaat. De nieuwste implementatie van AFC2 is gebouwd door Cannathea en is beschikbaar op GitHub.
AFC2 kan via Cydia worden geïnstalleerd en stelt na installatie een AFC-client in staat het hele apparaat te doorbladeren.
Andere technieken om toegang te krijgen tot alle gegevens op apparaten met jailbreak
Vóór de release van iOS 8 waren er verschillende Cydia-plug-ins voor apparaten met jailbreak waarmee een iPhone zich bij aansluiting als USB-stick presenteerde. Helaas worden die op moderne versies van iOS niet meer ondersteund.
Verwijderde bestanden herstellen van een gekoppeld iOS-apparaat
Als je je iPhone of iPad als schijf kunt koppelen, denk je misschien dat je verwijderde bestanden kunt herstellen door op een apparaat met jailbreak rechtstreeks het bestandssysteem te bewerken. Helaas kun je op deze manier geen bestanden van een iPhone herstellen, omdat het bestandssysteem is versleuteld. Zelfs als je stukjes van de gegevens zou kunnen vinden, zou je ze niet kunnen ontsleutelen. Elk bestand heeft een eigen versleutelingssleutel en die sleutels worden bij verwijdering weggegooid.
De iOS Security Guide van Apple behandelt dit kort op pagina 17 in het „architecture overview”:
Every time a file on the data partition is created, Data Protection creates a new 256-bit key (the “per-file” key) and gives it to the hardware AES engine, which uses the key to encrypt the file as it is written to flash memory using AES-XTS mode. On devices with an A7, S2, or S3 SoC, AES-CBC is used. The initialization vector is calculated with the block offset into the file, encrypted with the SHA-1 hash of the per-file key.
Koppelen werkt goed om bij bestaande bestanden te komen, maar helpt weinig bij herstel. Daarvoor heb je een iTunes- of iCloud-back-up nodig, gegevens die met iCloud zijn gesynchroniseerd of een forensische kopie van het apparaat van vóór het verwijderen van de gegevens.
Bonus: je Windows-computer koppelen vanaf je iPhone of iPad
Met iOS 13 kwam ondersteuning voor SMB naar iOS. Hiermee kunnen gebruikers op afstand schijven op Windows-computers openen. Zo werkt het:
- Zoek het IP-adres van je Windows-computer. De opdracht
ipconfiggeeft dit aan. - Klik op de Windows-computer met de rechtermuisknop op de map die je wilt delen en kies
Properties→Sharing→Advanced sharing. Klik op „Deze map delen”. - Selecteer op het tabblad Delen
Share..., selecteer vervolgens in het keuzemenu je gebruikersaccount, voeg het toe en zorg dat het de machtigingen „Lezen/schrijven” heeft. Klik op „Delen” en „Toepassen” en sluit het venster. - Open op je iOS-apparaat de app „Bestanden” van Apple en tik op „Verbind met server”. Typ
smb://gevolgd door het IP-adres van je pc. Kies daarna „Geregistreerde gebruiker” en voer de accountnaam en het wachtwoord van je Windows-account in.
Als dit is gedaan, zou je Windows-schijf op het iOS-apparaat moeten verschijnen.