Herramienta de código abierto para la línea de comandos, escrita en Python, que envía y recibe archivos con Apple AirDrop por Wi-Fi mediante compatibilidad con un protocolo sometido a ingeniería inversa.
blacktop/ipsw
Herramientas de línea de comandos para investigar el firmware de Apple: descargas de IPSW/OTA, análisis de Mach-O y cachés de dyld, kernelcaches y dispositivos iOS conectados.
- Estrellas
- 3,870
- Forks
- 325
- Issues abiertos
- 23
- Último commit
- ayer
¿Qué es?
ipsw es un conjunto de herramientas de línea de comandos escrito en Go para investigadores que analizan el firmware de Apple y los componentes internos de sus sistemas operativos. Descarga y descomprime paquetes de firmware IPSW y OTA para iOS y macOS, y también puede obtener instaladores de macOS, Xcode y KDK.
Con el firmware disponible, la herramienta inspecciona binarios Mach-O, desensambla código ARM64 y trabaja con cachés compartidas de dyld. Puede extraer dylibs, volcar encabezados de Objective-C y leer metadatos de Swift. Para el kernel, extrae KEXT, enumera llamadas al sistema y símbolos, y compara kernelcaches de distintas versiones.
La CLI también se comunica con dispositivos iOS conectados para enumerar apps, transferir archivos mediante AFC, capturar syslogs y montar imágenes de desarrollo. Otros comandos permiten analizar IMG4, descifrar AEA, simbolicar registros de fallos y realizar descompilación asistida por LLM de forma opcional. Un daemon independiente, ipswd, expone una API REST para automatizar tareas.
Funciones clave
- 01Descargar desde la línea de comandos IPSW, OTA, instaladores de macOS, Xcode y KDK.
- 02Inspeccionar comandos de carga, símbolos, firmas y derechos de Mach-O, y desensamblar código ARM64.
- 03Extraer dylibs y volcar encabezados de Objective-C de cachés compartidas de dyld.
- 04Extraer KEXT y comparar kernelcaches de distintas versiones del firmware.
- 05Enumerar apps, transferir archivos y capturar registros de dispositivos iOS conectados.
- 06Exponer una API REST mediante el daemon ipswd para automatizar tareas.
Casos de uso
- Extraer el kernelcache de una nueva versión del firmware de iOS para analizarlo.
- Volcar encabezados de Objective-C de frameworks privados a partir de una caché compartida de dyld.
- Comparar dos versiones del firmware para ver qué componentes cambiaron.
- Simbolicar registros de fallos de iOS durante tareas de depuración o investigación de seguridad.
Inicio rápido
- 1
Instalar en macOS con Homebrew (compilación extras)
brew install blacktop/tap/ipsw - 2
Instalar en Linux con snap
sudo snap install ipsw - 3
Descargar el IPSW más reciente para iPhone 15 Pro
ipsw download ipsw --device iPhone16,1 --latest
Antes de usarlo
- Algunos comandos dependen del sistema operativo anfitrión o de la variante de compilación, y la compatibilidad con Frida requiere una compilación aparte.
- Para compilar desde el código fuente se necesita Go 1.26 o posterior y una cadena de herramientas C para CGO.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es ipsw?
- Herramientas de línea de comandos para investigar el firmware de Apple: descargas de IPSW/OTA, análisis de Mach-O y cachés de dyld, kernelcaches y dispositivos iOS conectados. ipsw es un conjunto de herramientas de línea de comandos escrito en Go para investigadores que analizan el firmware de Apple y los componentes internos de sus sistemas operativos. Descarga y descomprime paquetes de firmware IPSW y OTA para iOS y macOS, y también puede obtener instaladores de macOS, Xcode y KDK.
- ¿ipsw es gratuito? ¿Qué licencia tiene?
- ipsw es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿ipsw sigue mantenido?
- Mantenimiento activo. El último commit de ipsw fue el 6 nov 2026.
- ¿Para qué puedo usar ipsw?
- Extraer el kernelcache de una nueva versión del firmware de iOS para analizarlo. Volcar encabezados de Objective-C de frameworks privados a partir de una caché compartida de dyld. Comparar dos versiones del firmware para ver qué componentes cambiaron. Simbolicar registros de fallos de iOS durante tareas de depuración o investigación de seguridad.
- ¿Cómo se instala ipsw?
- Instalar en macOS con Homebrew (compilación extras): brew install blacktop/tap/ipsw Instalar en Linux con snap: sudo snap install ipsw Descargar el IPSW más reciente para iPhone 15 Pro: ipsw download ipsw --device iPhone16,1 --latest
- ¿Dónde consigo ipsw?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/blacktop/ipsw
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca C++ multiplataforma con bindings para Python y Rust que permite analizar, modificar y abstraer formatos ejecutables ELF, PE, Mach-O y Android.
Biblioteca de Rust y CLI que exporta datos de iMessage a TXT o HTML y ejecuta diagnósticos en la base de datos de iMessage.
Emulador de sistema completo y anfitrión de máquinas virtuales para iOS, macOS y visionOS, basado en QEMU para ejecutar Windows, Linux y otros sistemas.
Herramienta de línea de comandos rápida y programable para automatizar lanzamientos de iOS, macOS, tvOS y visionOS mediante la API de App Store Connect.
Herramienta de análisis de firmware basada en Rust que identifica y, de forma opcional, extrae archivos y datos incrustados en otros archivos.