Zurück zu den Updates
New releaseSep 12, 2026

ipsw v3.1.716

Schweizer Taschenmesser für iOS/macOS-Forschung

Teilen

IPSW Logo

ipsw

iOS/macOS Research Swiss Army Knife


ipsw ist ein Kommandozeilen-Toolkit für Apple-Firmware-Forschung und Reverse Engineering. Lade IPSWs und OTAs herunter und entpacke sie, untersuche Mach-O-Binaries und dyld Shared Caches, analysiere Kernelcaches und arbeite mit verbundenen iOS-Geräten.

Agent skill · Installation · CLI-Beispiele · Dokumentation

ipsw mit einem KI-Agenten verwenden

Beginne mit ipsw-skill, wenn du in Claude Code, Codex, Gemini CLI oder einem anderen Agenten arbeitest, der Skills unterstützt. Es stellt dem Agenten Befehlsreferenzen und Workflows für Firmware-Extraktion, Binäranalyse und Apple-Plattformforschung bereit.

Installiere die ipsw CLI und füge dann den Skill hinzu:

npx skills add https://github.com/blacktop/ipsw-skill --skill ipsw

Anschließend kannst du eine Aufgabe in natürlicher Sprache stellen. Zum Beispiel:

Lade das neueste IPSW für iPhone 15 Pro herunter und extrahiere dessen Kernelcache.

Dumpe die Objective-C-Header für SpringBoardServices aus diesem dyld Shared Cache.

Vergleiche die KEXTs in diesen beiden Kernelcaches.

Die Skill-README enthält Einrichtungsanweisungen für einzelne Agenten, einschließlich des Claude Code Plugins und der Gemini CLI Erweiterung.

Installation

macOS

Der Homebrew-Tap des Maintainers enthält den Extras-Build:

brew install blacktop/tap/ipsw

Die Homebrew-Core-Formel ist ebenfalls verfügbar: brew install ipsw.

Linux

sudo snap install ipsw

Windows

scoop bucket add blacktop https://github.com/blacktop/scoop-bucket.git
scoop install blacktop/ipsw

Du kannst Binaries auch von GitHub Releases herunterladen. Siehe die Installationsanleitung für weitere Pakete und optionale Abhängigkeiten. Einige Befehle hängen vom Host-Betriebssystem oder der Build-Variante ab; Frida-Unterstützung beispielsweise hat einen separaten Build.

Was du tun kannst

BereichWerkzeuge
FirmwareIPSWs, OTAs, macOS-Installer, Xcode und KDKs herunterladen; Komponenten extrahieren und Builds vergleichen
Mach-OLoad Commands, Symbole, Signaturen und Entitlements untersuchen; ARM64-Code disassemblieren
dyld Shared CachesSymbole und Querverweise finden, dylibs extrahieren, Objective-C-Header dumpen und Swift-Metadaten untersuchen
KernelKEXTs extrahieren, Syscalls und Symbole untersuchen und Kernelcaches vergleichen
Firmware-KomponentenIMG4 parsen, AEA-Archive entschlüsseln und iBoot- sowie Coprozessor-Firmware untersuchen
GeräteGeräte und Apps auflisten, Dateien mit AFC übertragen, Logs erfassen und Developer Images einbinden
App Store ConnectZertifikate, Bundle-IDs, Geräte und Provisioning Profiles verwalten
ForschungCrash-Logs symbolisieren, über SSH debuggen, mit Frida tracen und mit einem LLM dekompilieren

CLI-Beispiele

Ersetze die Beispiel-Dateipfade durch deine eigenen. Führe ipsw --help aus oder füge --help an einen beliebigen Unterbefehl an, um dessen Optionen zu sehen.

Firmware herunterladen und extrahieren

# Download the latest IPSW for iPhone 15 Pro
ipsw download ipsw --device iPhone16,1 --latest

# Inspect a local IPSW and extract its kernelcache
ipsw info /path/to/firmware.ipsw
ipsw extract --kernel /path/to/firmware.ipsw

# Compare two firmware builds
ipsw diff /path/to/old.ipsw /path/to/new.ipsw

Einen dyld Shared Cache erkunden

ipsw dyld info /path/to/dyld_shared_cache_arm64e

# Extract Foundation for use in other tools
ipsw dyld extract /path/to/dyld_shared_cache_arm64e Foundation

# Dump headers directly from the cache
ipsw class-dump /path/to/dyld_shared_cache_arm64e SpringBoardServices --headers -o headers

Verwende den Cache direkt für die Objective-C-Analyse: Extrahierte dylibs können weiterhin auf Metadaten verweisen, die an anderer Stelle im Cache gespeichert sind.

Binaries und Kernelcaches untersuchen

# Select an architecture explicitly for universal binaries
ipsw macho info /path/to/binary --arch arm64e
ipsw macho disass /path/to/binary --arch arm64e --symbol _main

# Search a directory of binaries for an imported symbol
ipsw macho search /path/to/binaries --import 'CCCrypt'

# List KEXTs, then extract one by its full bundle ID
ipsw kernel kexts /path/to/kernelcache
ipsw kernel extract /path/to/kernelcache com.apple.driver.ASIOKit -o kexts

Mit einem verbundenen Gerät arbeiten

ipsw idev list
ipsw idev apps ls
ipsw idev afc ls /
ipsw idev syslog

Mit einem LLM dekompilieren

Die Befehle macho disass und dyld disass können Disassembly mit --dec an einen konfigurierten LLM-Anbieter senden. Siehe die Dekompilierer-Anleitung für die Einrichtung des Anbieters, Modellauswahl und Beispiele.

Konfiguration und Automatisierung

Die CLI liest YAML-Konfiguration aus ~/.config/ipsw/config.yaml; verwende --config, um eine andere Datei auszuwählen. Siehe config.example.yml und die Konfigurationsanleitung für Einstellungen und Umgebungsvariablen.

Wähle für Skripte eine Architektur mit --arch beim Öffnen universeller Binaries und verwende einen vollständigen dylib-Pfad, wenn ein Kurzname mehrdeutig ist. Befehle, die --json unterstützen, dokumentieren dies in ihrer Hilfe.

Der separate ipswd-Daemon stellt eine REST-API für die Automatisierung bereit. Siehe die API-Referenz.

Dokumentation und Community

Wenn du einen Bug meldest, gib ipsw version, den ausgeführten Befehl und den relevanten Firmware-Build oder Dateityp an. Entferne persönliche Informationen aus Logs und Crash-Berichten.

Build und Mitwirken

Das Bauen aus dem Quellcode erfordert Go 1.26 oder neuer und eine C-Toolchain für CGO:

git clone https://github.com/blacktop/ipsw.git
cd ipsw
make build

Siehe CONTRIBUTING.md für Entwicklungs- und Beitragsrichtlinien.

Danksagungen

Kategorien