>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Swift

Cómo examinar el contenido de una copia de seguridad de iPhone sin herramientas de pago

Phosphor Banner

Si alguna vez has intentado extraer un chat específico de una copia de seguridad de iPhone o simplemente querías ver qué archivos se almacenan en un backup, probablemente te hayas encontrado con las limitaciones de las herramientas estándar de Apple. Finder realiza copias de seguridad en modo "todo o nada". O bien restauras toda la imagen en tu teléfono con el riesgo de sobrescribir datos nuevos, o bien pagas alrededor de $50 al año por algo como iMazing.

Descubrí recientemente el proyecto Phosphor del desarrollador Momen Basel. Es un cliente nativo para macOS con código abierto bajo licencia MIT que maneja casi todas las tareas de gestión de iOS sin suscripciones ni dependencia de iCloud.


Qué puede hacer la aplicación

Phosphor se encarga de las tareas rutinarias que antes requerían mantener software de pago o compilar utilidades de línea de comandos desde el código fuente.

+-------------------------------------------------------------+
| Phosphor (macOS 14+ / SwiftUI)                              |
|   ├── Бэкапы (полные, инкрементальные, просмотр Manifest.db) |
|   ├── Экспорт iMessage, WhatsApp, заметок и контактов       |
|   ├── Просмотр файловой системы через AFC                   |
|   └── Диагностика (батарея, стриминг syslog, краш-репорты)  |
+-------------------------------------------------------------+
                                          
         (primary)                         (fallback)
 [pymobiledevice3]                  [libimobiledevice]

Análisis y navegación de backups

La característica principal de Phosphor es trabajar con copias de seguridad locales. Abre Manifest.db, lee bases de datos SQLite en su interior y organiza los datos en categorías familiares: fotos, mensajes, archivos adjuntos, archivos del sistema.

Lo interesante es que la aplicación funciona con copias de seguridad cifradas desde el primer momento. Phosphor descifra los datos de forma nativa usando los algoritmos PBKDF2 y AES-256-CBC, sin trucos adicionales ni llamadas a scripts externos de Python. Solo necesitas introducir tu contraseña una vez, el programa mantiene la clave en memoria durante la sesión, o la guarda en el llavero de macOS si marcas la opción.

Exportar mensajes y archivos multimedia

Si necesitas extraer mensajes de iMessage o SMS, Phosphor muestra los hilos de conversación en una interfaz familiar con burbujas azules y grises. Los diálogos se pueden exportar en varios formatos:

  • HTML con el estilo visual del messenger preservado
  • JSON o CSV limpio para análisis y procesamiento posterior
  • TXT plano

La misma extracción funciona para la base de datos de WhatsApp (ChatStorage.sqlite), Notas de Apple, contactos en formato vCard y eventos del calendario en .ics.

Instalación de IPA y acceso directo a archivos

A través del protocolo Apple File Conduit (AFC), la utilidad permite explorar la estructura de archivos del dispositivo sin necesidad de montar discos FUSE en el sistema. Puedes explorar los sandbox de las aplicaciones (carpetas Documents, Library, tmp), copiar archivos de ahí con un simple arrastrar y soltar, o enviar rápidamente .ipa a un iPhone de prueba conectado.

Diagnósticos de hardware y visualización de logs

Los desarrolladores y probadores encontrarán útil la sección de diagnósticos. Phosphor lee en tiempo real:

  • Estado preciso de la batería: capacidad de fábrica y real en mAh, conteo de ciclos de carga y temperatura actual.
  • Desglose detallado del almacenamiento por categorías.
  • Flujo de logs del sistema (syslog) con resaltado de color de los niveles de log (Error, Warning, Debug) y filtrado.
  • Reportes de fallos y lista de procesos activos en el dispositivo.

Detalles técnicos internos

Phosphor está escrito en Swift 5.9 y SwiftUI para macOS 14 Sonoma y versiones posteriores. El autor tomó varias decisiones arquitectónicas interesantes que hacen que la aplicación sea rápida y no arrastre una montaña de dependencias innecesarias.

  1. Dos backends para elegir. El motor principal es la biblioteca pymobiledevice3, que soporta las versiones actuales de iOS incluyendo los lanzamientos recientes. Si no está disponible por cualquier motivo, la interfaz cambia automáticamente al clásico libimobiledevice.
  2. Sin enlaces C. En lugar de compilar bibliotecas C complejas dentro del proyecto, la lógica se comunica con utilidades de línea de comandos a través de subprocess. Esto simplifica el mantenimiento del proyecto.
  3. Análisis directo de SQLite a través de bibliotecas del sistema. Sin paquetes Swift de terceros para leer bases de datos — Phosphor utiliza el sqlite3 del sistema nativo.
  4. Almacenamiento seguro de copias de seguridad. A partir de la versión 1.0.4, Phosphor guarda copias en ~/Documents/Phosphor Backups. Esto las aísla de las copias de seguridad estándar del Finder y no requiere otorgar a la aplicación acceso completo al disco.

Cómo instalar y ejecutar

La forma más rápida de implementar la aplicación es a través de Homebrew Cask:

brew tap momenbasel/phosphor
brew install --cask phosphor

El backend principal requiere instalar pymobiledevice3:

brew install pipx
pipx install pymobiledevice3

Si deseas compilar la aplicación manualmente desde el repositorio:

# Клонируем репозиторий
git clone https://github.com/momenbasel/Phosphor.git
cd Phosphor

# Собираем релизный бинарник
swift build -c release

# Упаковываем в .app бандл
bash Scripts/build.sh

# Запускаем собранный клиент
open .build/Phosphor.app

Al conectar tu teléfono por cable por primera vez, necesitas desbloquear la pantalla y tocar "Confiar en este equipo".


En resumen

Phosphor resultó ser una herramienta útil para quienes necesitan ocasionalmente extraer archivos específicos de un iPhone, verificar el desgaste de la batería o exportar un archivo funcional de mensajes.

¿Quién encontrará útil este proyecto?

  • Propietarios de Mac que no quieren pagar por software propietario voluminoso solo para hacer un par de exportaciones al año.
  • Ingenieros de QA y desarrolladores de iOS para recopilar rápidamente logs de fallos, verificar bases de datos de aplicaciones y monitorear syslog.
  • Aquellos que almacenan archivos locales de mensajes y contactos sin depender de la nube.

El código fuente está en GitHub bajo la licencia MIT, el proyecto se mantiene activamente y reemplaza fácilmente los escenarios básicos de los administradores de dispositivos de pago.

Proyectos relacionados