Montar el iPod original y acceder a él como a una unidad USB era fácil. También es posible hacerlo con un iPhone, aunque hay distintos métodos según el tipo de datos con los que quieras trabajar.
En este artículo exploraremos los siguientes métodos:
| Técnica | Archivos disponibles | Requisitos |
|---|---|---|
| PTP | Fotos y vídeos | Integrado en Windows y macOS |
| AFC | Fotos, vídeos y algunas apps | iTunes |
| FUSE (sin jailbreak) | Fotos, vídeos y algunas apps | Cliente FUSE gratuito |
| FUSE (con jailbreak) | Todos los archivos | Jailbreak y cliente FUSE gratuito |
| WebDAV mediante Filza | Todos los archivos | Jailbreak y cliente WebDAV gratuito |
| AFC2 | Todos los archivos | Jailbreak, complemento AFC2 y cliente AFC2 |
| Otros | Ninguno | No funcionan en las versiones modernas de iOS |
En un dispositivo sin jailbreak, solo es posible trabajar con los datos de los archivos de la cámara y de algunas apps. En este artículo veremos ambos métodos.
PTP: acceso a fotos, vídeos y datos de la cámara como un montaje de disco
iOS presenta automáticamente los dispositivos modernos como cámaras cuando se conectan por USB. Para ello usa el Picture Transfer Protocol (PTP), un sistema bastante limitado que permite copiar fotos de un lado a otro. Probablemente reconozcas las carpetas DCIM en las que suelen aparecer las fotos.
PTP tiene varios inconvenientes: el más evidente es que no puedes acceder a archivos que no sean de la cámara. Además, PTP no admite funciones como cambiar el nombre o modificar archivos o carpetas: para aplicar un cambio, tiene que eliminarlos y volver a crearlos. Esto es lento.
Acceso a fotos y datos de apps mediante AFC con iTunes
La base de conocimiento de Apple tiene un artículo que describe cómo gestionar el uso compartido básico de archivos con iTunes.
Acceso a datos de apps por USB con FUSE
FUSE es un sistema que permite a los usuarios montar unidades en sus ordenadores Windows o Mac sin necesidad de hacer cambios de nivel de administrador en el sistema. FUSE son las siglas de «filesystem in userspace» (sistema de archivos en el espacio de usuario) y existe en distintas formas en la mayoría de las plataformas. FUSE en sí es una capa de abstracción, ya que no es la tecnología que se comunica directamente con el dispositivo o la fuente de datos: para eso se suele usar otro método. Al montar un iPhone como unidad, FUSE se comunicaría con el iPhone mediante otro protocolo: SSH, AFC/AFC2, PTP o WebDAV. En Windows se suele usar el popular sistema de archivos en modo usuario Dokan y en macOS es popular osxfuse.
Desde el punto de vista del usuario, como FUSE normaliza la forma en que se presentan los datos del dispositivo, normalmente da igual qué protocolo subyacente se encargue del montaje.
Usar un montaje FUSE en macOS
Vamos a demostrar este método en macOS y cómo montar un dispositivo. Para que funcione, tendrás que instalar el gestor de paquetes Homebrew, que es gratuito, y saber usar Terminal en macOS.
En primer lugar, vamos a encontrar el UDID de tu dispositivo. Puedes hacerlo con la versión gratuita de iPhone Backup Extractor, con el comando lsusb o con ioreg -p IOUSB -l -w 0. Abre iPhone Backup Extractor con el dispositivo conectado, selecciónalo y elige la pestaña «Info». Verás el UDID en la sección «Hardware identifiers»:

Datos del dispositivo que se muestran en iPhone Backup Extractor
A continuación, vamos a preparar FUSE para 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.
Y vamos a instalar ifuse, el código que puede comunicarse con dispositivos iOS a través de FUSE:
$ brew install ifuse
Con ifuse instalado, es posible montar el iPhone o el iPad con el UDID que obtuvimos antes:
$ mkdir ~/iphone
$ ifuse ~/iphone --udid 000000000000000000000000
Esto montará tu iPhone como un disco en tu equipo. Si quieres ir más allá y profundizar en más datos, esta publicación de superuser es bastante útil y, de forma similar, esta otra publicación trata el uso de la herramienta usbmuxd.
Solución de los errores que pueden aparecer
ifuse puede mostrar este aviso: Invalid device UDID specified, length needs to be 40 characters. A partir del iPhone X, Apple cambió los UDID para que usen 24 bytes y un guion (-) en lugar del antiguo formato de 40 bytes.
Si aparece Failed to connect to lockdownd service on the device. Try again. If it still fails try rebooting your device., comprueba que el dispositivo está conectado y que no muestra el cuadro de diálogo «¿Confiar en este ordenador?». Primero tendrás que aceptarlo. Si después aparece ERROR: Device 000000000000000000000000 returned unhandled error code -13, tendrás que desconectar y volver a conectar el dispositivo.
Mientras lo haces, conviene asegurarte de que no hay otras aplicaciones en ejecución en tu PC o Mac que puedan intentar conectarse a tu dispositivo iOS.
Si solo vas a montar un único dispositivo iOS, puedes ejecutar simplemente ifuse ~/iphone.
Necesitas usar una versión preliminar de usbmuxd?
usbmuxd no se actualiza con frecuencia, así que, de vez en cuando, cuando sale una versión nueva de iOS, no es compatible. Para solucionarlo, puedes instalar la última versión de desarrollo como se indica a continuación:
brew unlink usbmuxd
brew install --HEAD usbmuxd
brew unlink libimobiledevice
brew install --HEAD libimobiledevice
brew cask uninstall osxfuse
brew cask install osxfuse idevicepair
Acceso a datos de apps por USB con FUSE en un dispositivo con jailbreak
Las instrucciones son exactamente las mismas que las anteriores. Con el dispositivo con jailbreak, verás más datos desde el principio. ¿A que está bien?
Usar el servidor WebDAV de Filza para acceder a los archivos raíz de iOS
En un dispositivo iOS con jailbreak se puede instalar con Cydia una app de gestión de archivos llamada Filza. En los ajustes de Filza puedes activar el modo de servidor WebDAV. Esto ofrece una interfaz bastante sencilla para que otros dispositivos accedan a tu dispositivo iOS, aunque es extremadamente insegura. WebDAV es un mecanismo muy general para trabajar con datos web y hay muchos clientes que pueden acceder a él, incluida una interfaz web integrada en Filza. Conéctate a tu dispositivo con un navegador web y verás la interfaz. Así de fácil.
Usar AFC2 para acceder a los archivos de iOS por USB
¿Qué es AFC2?
AFC son las siglas de «Apple File Conduit», el mecanismo propio de Apple para transferir datos de un dispositivo iOS a un ordenador anfitrión. AFC funciona en todos los dispositivos iOS, pero está limitado a dar acceso a un conjunto reducido de datos. «AFC2» es el apodo que se da a una serie de herramientas creadas por la comunidad del jailbreak que emulan AFC pero dan acceso a todo el dispositivo. La implementación más reciente de AFC2 la creó Cannathea y está disponible en GitHub.
AFC2 se puede instalar desde Cydia y, una vez instalado, permite que un cliente AFC explore el dispositivo por completo.
Otras técnicas para acceder a todos los datos en dispositivos con jailbreak
Antes del lanzamiento de iOS 8, había varios complementos de Cydia para dispositivos con jailbreak que hacían que el iPhone se presentara como una memoria USB al conectarlo. Por desgracia, ya no son compatibles con las versiones modernas de iOS.
Recuperar archivos eliminados de un dispositivo iOS montado
Si puedes montar el iPhone o el iPad como una unidad, quizá pienses que podrías recuperar archivos eliminados manipulando directamente el sistema de archivos en un dispositivo con jailbreak. Por desgracia, no se pueden recuperar archivos de este modo en un iPhone, ya que el sistema de archivos está cifrado. Aunque encontraras fragmentos de los datos, no podrías descifrarlos. Cada archivo tiene su propia clave de cifrado y esas claves se descartan al eliminarlo.
La Guía de seguridad de iOS de Apple lo trata brevemente en la página 17, en la «descripción general de la arquitectura»:
Cada vez que se crea un archivo en la partición de datos, la protección de datos crea una clave nueva de 256 bits (la clave «por archivo») y se la entrega al motor AES de hardware, que la usa para cifrar el archivo a medida que se escribe en la memoria flash con el modo AES-XTS. En los dispositivos con SoC A7, S2 o S3 se usa AES-CBC. El vector de inicialización se calcula con el desplazamiento de bloque dentro del archivo, cifrado con el hash SHA-1 de la clave por archivo.
El montaje puede funcionar bien para acceder a archivos existentes, pero no ayuda mucho a la hora de recuperar datos. Para eso, necesitas una copia de seguridad de iTunes o iCloud, datos sincronizados con iCloud o una imagen forense del dispositivo anterior al borrado de los datos.
Extra: montar tu ordenador con Windows desde tu iPhone o iPad
iOS 13 incorporó la compatibilidad con SMB, que permite acceder de forma remota a unidades de ordenadores con Windows. Funciona así:
- Busca la dirección IP de tu ordenador con Windows. El comando
ipconfigdebería indicártela. - En el ordenador con Windows, haz clic con el botón derecho en la carpeta que quieras compartir y elige
Properties→Sharing→Advanced sharing. Haz clic en «Compartir esta carpeta». - En la pestaña Compartir, selecciona
Share...; luego, en el menú desplegable, selecciona tu cuenta de usuario, añádela y comprueba que tiene permisos de «Lectura y escritura». Haz clic en «Compartir» y en «Aplicar», y cierra la ventana. - En tu dispositivo iOS, abre la app Archivos de Apple y toca «Conectarse al servidor». Escribe
smb://seguido de la dirección IP de tu PC. Después elige «Usuario registrado» e introduce el nombre y la contraseña de tu cuenta de Windows.
Una vez hecho esto, la unidad de Windows debería aparecer en el dispositivo iOS.