Retour aux mises à jour
New releaseSep 12, 2026

ipsw v3.1.716

Couteau suisse de recherche pour iOS/macOS

Partager

IPSW Logo

ipsw

Couteau suisse de recherche iOS/macOS


Qu'est-ce que ipsw 🤔

ipsw est un framework de recherche en ligne de commande complet pour iOS et macOS. Il fournit une boîte à outils étendue pour les chercheurs en sécurité, les ingénieurs en rétro-ingénierie, les développeurs de jailbreak et les passionnés d'iOS afin de télécharger, analyser et examiner les firmwares Apple et d'interagir avec les appareils iOS.

Capacités principales

  • 📱 Analyse IPSW/OTA - Télécharger, extraire et analyser les fichiers de firmware iOS
  • 🔍 Analyse binaire - Analyse avancée Mach-O avec désassemblage ARM et assistance IA
  • 🧠 dyld_shared_cache - Analyse complète du cache partagé avec extraction des classes ObjC/Swift
  • 🔧 Analyse du noyau - Analyse du kernelcache, extraction des appels système et symbolication
  • 📲 Interaction avec les appareils - Gestion et débogage complets des appareils iOS
  • 🔐 Recherche sur les firmwares - Analyse des firmwares IMG4, iBoot, SEP et des coprocesseurs
  • 🏪 App Store Connect - Intégration complète de l'API pour la gestion des applications et des certificats
  • 🛠️ Outils de développement - Utilitaires SSH, Frida, débogage et rétro-ingénierie

Démarrage rapide

Installation

macOS

En utilisant le tap blacktop (inclut les extras)

brew install blacktop/tap/ipsw

En utilisant la formule Homebrew officielle

brew install ipsw

Linux

sudo snap install ipsw

Windows

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

Utilisation de base

# Télécharger le dernier IPSW iOS
ipsw download ipsw --device iPhone16,1 --latest

# Extraire le kernelcache
ipsw extract --kernel iPhone16,1_18.2_22C150_Restore.ipsw

# Analyser dyld_shared_cache
ipsw dyld info /path/to/dyld_shared_cache_arm64

# Obtenir les informations de l'appareil
ipsw idev list

Fonctionnalités principales

📱 Gestion IPSW & OTA

  • Sources de téléchargement : Apple, AppleDB, Portail développeur, flux RSS, GitHub, iTunes, Wikipédia
  • Types de fichiers : IPSW, OTA, installateurs macOS, Xcode, KDK, fichiers PCC
  • Opérations : Extraire, différencier, monter, analyser les métadonnées
ipsw download ipsw --device iPhone16,1 --latest
ipsw extract --kernel iPhone16,1_18.2_22C150_Restore.ipsw
ipsw diff iPhone16,1_18.1_22B83_Restore.ipsw iPhone16,1_18.2_22C150_Restore.ipsw

🔍 Analyse binaire et rétro-ingénierie

  • Analyse Mach-O : Analyse complète des binaires avec extraction des symboles
  • Désassemblage ARM : Désassembleur ARM v9-a avec analyse assistée par IA
  • Signature de code : Vérifier les signatures, analyser les entitlements
  • Correction binaire : Ajouter, modifier ou supprimer des correctifs
ipsw macho info /path/to/binary
ipsw macho disass /path/to/binary --symbol _main
ipsw macho search /path/to/binary --string "password"

🧠 Analyse dyld_shared_cache

  • Analyse du cache : Extraire et analyser la structure complète du cache partagé
  • Analyse ObjC : Extraction des classes, analyse des méthodes, analyse des protocoles
  • Support Swift : Extraction et analyse des classes Swift (expérimental)
  • Gestion des symboles : Extraction des symboles et résolution des adresses
ipsw dyld info /path/to/dyld_shared_cache
ipsw dyld extract /path/to/dyld_shared_cache --dylib Foundation
ipsw dyld objc class /path/to/dyld_shared_cache --class NSString

📲 Interaction avec les appareils iOS (idev)

  • Système de fichiers : Parcourir et transférer des fichiers via AFC
  • Gestion des applications : Installer, désinstaller et analyser les applications
  • Sauvegarde et restauration : Opérations complètes de sauvegarde des appareils
  • Développement : Monter les images développeur, capturer les journaux, capture de paquets
  • Diagnostics : Informations sur la batterie, journaux de crash, diagnostics système
ipsw idev list
ipsw idev afc ls /
ipsw idev apps ls
ipsw idev backup create
ipsw idev syslog

🔐 Analyse des firmwares et de la sécurité

  • IMG4 : Analyser et déchiffrer les fichiers au format Image4
  • iBoot : Analyse et recherche sur le bootloader
  • SEP : Analyse du firmware du processeur Secure Enclave
  • AEA : Déchiffrement des archives chiffrées Apple
  • Coprocesseurs : Analyse des firmwares AOP, DCP, GPU, caméra
ipsw img4 dec iBoot.img4
ipsw fw sep iPhone16,1_18.2_22C150_Restore.ipsw
ipsw fw iboot iPhone16,1_18.2_22C150_Restore.ipsw

🏪 Intégration App Store Connect

  • Gestion des certificats : Certificats et profils iOS/macOS
  • Enregistrement des appareils : Gérer les appareils de développement
  • Gestion des applications : Bundle IDs, capacités et avis
  • Provisionnement : Cycle de vie complet des profils de provisionnement
ipsw appstore cert ls
ipsw appstore device reg --name "My Device" --udid 1234567890
ipsw appstore profile create --name "Development Profile"

🛠️ Outils de recherche avancés

  • Symbolication : Analyse des journaux de crash et résolution des symboles
  • Extraction de classes : Extraction des classes ObjC et Swift
  • Accès SSH : SSH sur appareil jailbreaké avec debugserver
  • Intégration Frida : Capacités d'instrumentation dynamique
  • Décompilateur assisté par IA : Intégration avec Claude, OpenAI, Gemini, Ollama et OpenRouter
ipsw symbolicate crash.ips --dsym /path/to/symbols
ipsw class-dump /path/to/binary
ipsw ssh debugserver

Architecture

ipsw se compose de deux composants principaux :

  • ipsw - Outil CLI principal avec des capacités d'analyse complètes
  • ipswd - Démon API REST pour les opérations à distance et l'automatisation

Configuration

ipsw prend en charge les fichiers de configuration YAML et les variables d'environnement :

# Créer le répertoire de configuration
mkdir -p ~/.config/ipsw

# Copier la configuration d'exemple
cp config.example.yml ~/.config/ipsw/config.yaml

Support de base de données

  • SQLite (par défaut) - Stockage local
  • PostgreSQL - Déploiements en production

Décompilateur IA

https://blacktop.github.io/ipsw/docs/guides/decompiler

❱ ipsw macho disass /System/Library/PrivateFrameworks/ApplePushService.framework/apsd --entry \
             --dec --dec-model "Claude 3.7 Sonnet"
   • Chargement du fichier cache de symboles...
   • Décompilation... 🕒
int main(int argc, char *argv[]) {
    @autoreleasepool {
        __set_user_dir_suffix(@"com.apple.apsd");

        @autoreleasepool {
            APSDaemon *daemon = [[APSDaemon alloc] init];

            if (daemon) {
                NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
                [runLoop run];
                [runLoop release];
            }

            [daemon release];
        }

        return 0;
    }

    @catch (NSException *exception) {
        if ([exception reason] == 1) {
            id exceptionObj = [exception retain];
            id logger = [APSLog daemon];

            if (_os_log_type_enabled(logger, 0x11)) {
                [exceptionObj logWithLogger:logger];
            }

            [logger release];
            [exceptionObj release];
        }
    }
}

Cas d'utilisation

Recherche en sécurité

  • Analyse des vulnérabilités et développement d'exploits
  • Évaluation de la sécurité des firmwares
  • Rétro-ingénierie de binaires

Développement de jailbreak

  • Analyse et exploitation de la chaîne de démarrage
  • Recherche sur les extensions du noyau
  • Modification et correction du système

Développement iOS

  • Débogage et analyse d'applications
  • Gestion des certificats et du provisionnement
  • Tests et automatisation des appareils

Forensique numérique

  • Extraction et analyse des données des appareils
  • Reconstruction de chronologies
  • Analyse des artefacts

Prérequis

  • Go : 1.26+ (pour compiler à partir des sources)
  • Plateforme : macOS, Linux, Windows
  • USB : libusb pour l'interaction avec les appareils
  • Optionnel : Clés API IA pour une analyse améliorée

Documentation

  • Site web : https://blacktop.github.io/ipsw
  • Documentation API : Documentation de l'API REST disponible sur /docs lors de l'exécution de ipswd
  • Exemples : Exemples d'utilisation complets dans la documentation

SKILL.md

Donnez des super-pouvoirs ipsw à vos agents IA

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

🆕 Wiki propulsé par IA

Posez des questions sur le dépôt en utilisant l'IA :

[!WARNING] Les réponses de l'IA peuvent contenir des hallucinations - vérifiez les informations importantes.

Ressources communautaires

📊 Différences IPSW

Différences de firmwares pré-calculées : ipsw-diffs

💬 Communauté

GitHub Discussions

Contribution

Nous accueillons les contributions ! Veuillez consulter CONTRIBUTING.md pour les directives.

Développement

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

Problèmes connus

  • Support IPSW macOS : Certaines opérations sur les firmwares macOS peuvent présenter des problèmes de compatibilité
  • Tests : Les tests complets sont difficiles en raison de la variété des versions de firmwares et des types d'appareils
  • Intensif en ressources : Certaines opérations nécessitent une mémoire et une puissance de traitement importantes

Créez un problème si vous rencontrez des problèmes - les correctifs sont prioritaires ! Une suite de tests complète est prévue pour les prochaines versions.

Crédits

Un immense merci à :

  • Jonathan Levin pour ses outils légendaires et sa documentation complète sur les internals iOS
  • La communauté de recherche iOS pour son innovation continue et le partage des connaissances
  • Tous les contributeurs qui aident à améliorer ce projet

Licence

Licence MIT - voir LICENSE pour plus de détails.

Catégories