Une application de ligne de commande pour restaurer les fichiers du firmware sur les appareils iOS.
L'application IdeviceRestore est une réimplémentation complète de toutes les étapes granulaires qui sont effectuées lors de la restauration d'un micrologiciel sur un appareil.
En général, les mises à niveau et les rétrogradations sont possibles, mais sous réserve de la disponibilité des blobs SHSH d'Apple pour signer les fichiers du firmware.
Certaines fonctionnalités clés sont:
AVERTISSEMENT: Cet outil peut facilement détruire vos données utilisateur de manière irréversible.
Utilisez avec prudence et assurez-vous de sauvegarder vos données avant d'essayer de restaurer.
Dans tous les cas, l'utilisation est à vos propres risques.
Vous devez avoir un compilateur de travail (GCC / Clang) et un environnement de développement disponible. Ce projet utilise les AutoTools pour le processus de construction, permettant d'avoir des étapes de construction courantes sur différentes plates-formes. Seules les conditions préalables diffèrent et elles sont décrites dans cette section.
sudo apt-get install
build-essential
pkg-config
checkinstall
git
autoconf
automake
libtool-bin
libreadline-dev
libusb-1.0-0-dev
libplist-dev
libimobiledevice-dev
libimobiledevice-glue-dev
libtatsu-dev
libcurl4-openssl-dev
libssl-dev
libzip-dev
zlib1g-devlibtatsu-dev ) est une nouvelle bibliothèque qui vient d'être publiée récemment, vous devez la construire à partir de la source. De plus, d'autres packages *-dev peuvent ne pas être disponibles pour votre distribution, vous devrez donc également créer ces packages par vous-même. Assurez-vous que les outils de ligne de commande Xcode sont installés.
Option 1 : Le moyen le plus simple de créer et d'installer idevicerestore pour macOS est d'utiliser le script de construction suivant qui fera le travail pour vous, il construira et installera toutes les dépendances requises:
mkdir -p limd-build
cd limd-build
curl -o ./limd-build-macos.sh -L https://is.gd/limdmacos
bash ./limd-build-macos.sh Suivez les invites du script et vous devriez avoir un idevicerestore fonctionnel disponible.
Option 2 : Utilisez Macports ou Homebrew pour installer automake , autoconf et libtool .
Utilisation de Macports:
sudo port install libtool autoconf automakeUtilisation de Homebrew:
brew install libtool autoconf automake idevicerestore a quelques dépendances du projet LibimobileDevice. Vous devrez construire et installer ce qui suit:
Vérifiez leur README.md pour les instructions de construction et d'installation.
L'utilisation de MSYS2 est le moyen officiel de compiler ce projet sur Windows. Téléchargez l'installateur MSYS2 et suivez les étapes d'installation.
Il est recommandé d'utiliser la coque MSYS2 Mingw 64 bits . Exécutez-le et assurez-vous que les dépendances requises sont installées:
pacman -S base-devel
git
mingw-w64-x86_64-gcc
make
libtool
autoconf
automake-wrapper
pkg-config
libcurl-devel
mingw-w64-x86_64-libzipRemarque: vous pouvez utiliser un shell différent et un compilateur différent en fonction de vos besoins. Adaptez la commande ci-dessus en conséquence.
idevicerestore a quelques dépendances du projet LibimobileDevice. Vous devrez construire et installer ce qui suit:
Vérifiez leur README.md pour les instructions de construction et d'installation.
Vous pouvez construire le code source à partir d'une caisse GIT ou à partir d'un tarball de libération .tar.bz2 à partir des versions. Avant de pouvoir le construire, l'arbre source doit être configuré pour la construction. Les étapes dépendent de l'où vous avez obtenu la source.
De Git
Si vous ne l'avez pas déjà fait, clonez le référentiel de projet et transformez en répertoire.
git clone https://github.com/libimobiledevice/idevicerestore.git
cd idevicerestoreConfigurer l'arborescence source pour la construction:
./autogen.shDe la sortie du tarball (.tar.bz2)
Lors de l'utilisation d'un tarball officiel ( idevicerestore-xyztar.bz2 ), la procédure est légèrement différente.
Extraire le tarball:
tar xjf idevicerestore-x.y.z.tar.bz2
cd idevicerestore-x.y.zConfigurer l'arborescence source pour la construction:
./configure Les deux ./configure et ./autogen.sh (qui génère et les appels configure ) acceptent quelques options, par exemple --prefix pour permettre la construction d'un dossier cible différent. Vous pouvez simplement les passer comme ceci:
./autogen.sh --prefix=/usr/localou
./configure --prefix=/usr/localUne fois la commande réussie, les dernières lignes de sortie ressembleront à ceci:
[...]
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
Configuration for idevicerestore 1.1.0:
-------------------------------------------
Install prefix: .........: /usr/local
Now type 'make' to build idevicerestore 1.1.0,
and then 'make install' for installation.
Important
IdeviceRestore nécessite un USBMuxd correctement installé pour la procédure de restauration. Veuillez vous assurer qu'il est en cours d'exécution ou configuré pour être démarré automatiquement dès qu'un périphérique est détecté en mode normal et / ou restauration. S'il est correctement installé, cela sera géré par UDEV / Systemd.
Le scénario principal est de restaurer un nouveau firmware sur un appareil. Tout d'abord, attachez votre appareil à votre machine.
Ensuite, courez simplement:
idevicerestore --latestCela imprimera une sélection de versions du micrologiciel qui sont actuellement signées et peuvent être restaurées sur l'appareil connecté. Il tentera ensuite de télécharger et de restaurer le firmware sélectionné.
Par défaut, une restauration de mise à jour est effectuée qui préservera les données utilisateur.
Pensez que si le fichier du firmware ne contient pas de variante «Installer de mise à niveau client», une restauration d'effacement sera effectuée.
Vous pouvez forcer la restauration avec l'effacement de toutes les données et la réinitialisation essentiellement de l'appareil en utilisant:
idevicerestore --erase --latestVeuillez consulter les informations d'utilisation ou la page manuelle pour une documentation complète des options de ligne de commande disponibles:
idevicerestore --help
man idevicerestoreNous accueillons les contributions de quiconque et sommes reconnaissants pour chaque demande de traction!
Si vous souhaitez contribuer, veuillez débarquer la branche master , modifier, commettre et envoyer une demande de révision. Une fois approuvé, il peut être fusionné dans la base de code principale.
Si vous prévoyez de contribuer des changements plus importants ou un refactorisation majeure, veuillez d'abord créer un billet pour discuter de l'idée d'avance pour assurer moins d'efforts pour tout le monde.
Veuillez vous assurer que votre contribution adhère à:
Ce projet est concédé sous licence en vertu de la licence publique générale de GNU Leser V3.0, également incluse dans le référentiel dans le fichier COPYING .
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, TVOS, Watchos et MacOS sont des marques d'Apple Inc.
Ce projet est une application logicielle indépendante et n'a pas été autorisé, parrainé ou autrement approuvé par Apple Inc.
Readme mis à jour le: 2024-10-22