Una aplicación de línea de comandos para restaurar los archivos de firmware en dispositivos iOS.
La aplicación IDevicerestore es una reimplementación completa de todos los pasos granulares que se realizan durante la restauración de un firmware a un dispositivo.
En general, las actualizaciones y las rebajas son posibles, sin embargo, están sujetos a la disponibilidad de blobs SHSH de Apple para firmar los archivos de firmware.
Algunas características clave son:
Advertencia: esta herramienta puede destruir fácilmente sus datos de usuario de manera irreversible.
Use con precaución y asegúrese de hacer una copia de seguridad de sus datos antes de intentar restaurar.
En cualquier caso, el uso es bajo su propio riesgo.
Debe tener un compilador de trabajo (GCC/CLANG) y un entorno de desarrollo disponible. Este proyecto utiliza AutoTools para el proceso de compilación, lo que permite tener pasos de compilación comunes en diferentes plataformas. Solo los requisitos previos difieren y se describen en esta sección.
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 ) es una nueva biblioteca que se acaba de publicar recientemente, debes construirla desde la fuente. Además, otros paquetes *-dev pueden no estar disponibles para su distribución, por lo que también deberá construir estos paquetes por su cuenta. Asegúrese de que se instalen las herramientas de línea de comando Xcode.
Opción 1 : La forma más fácil de construir e instalar idevicerestore para macOS es usar el siguiente script de compilación que hará el trabajo por usted, construirá e instalará todas las dependencias requeridas:
mkdir -p limd-build
cd limd-build
curl -o ./limd-build-macos.sh -L https://is.gd/limdmacos
bash ./limd-build-macos.sh Siga las indicaciones del script y debe tener un idevicerestore que funcione disponible.
Opción 2 : use MacPorts o HomeBrew para instalar automake , autoconf y libtool .
Uso de MacPorts:
sudo port install libtool autoconf automakeUsando Homebrew:
brew install libtool autoconf automake idevicerestore tiene algunas dependencias del Proyecto LibimObileDevice. Tendrá que construir e instalar lo siguiente:
Consulte su README.md para obtener instrucciones de construcción e instalación.
El uso de MSYS2 es la forma oficial de compilar este proyecto en Windows. Descargue el instalador MSYS2 y siga los pasos de instalación.
Se recomienda utilizar la carcasa MSYS2 MINGW de 64 bits . Ejecutarlo y asegúrese de que se instalen las dependencias requeridas:
pacman -S base-devel
git
mingw-w64-x86_64-gcc
make
libtool
autoconf
automake-wrapper
pkg-config
libcurl-devel
mingw-w64-x86_64-libzipNota: Puede usar un caparazón diferente y un compilador diferente de acuerdo con sus necesidades. Adaptar el comando anterior en consecuencia.
idevicerestore tiene algunas dependencias del Proyecto LibimObileDevice. Tendrá que construir e instalar lo siguiente:
Consulte su README.md para obtener instrucciones de construcción e instalación.
Puede construir el código fuente a partir de un pago GIT, o a partir de un tarball .tar.bz2 de lanzamiento a partir de lanzamientos. Antes de que podamos construirlo, el árbol de origen debe configurarse para la construcción. Los pasos dependen de dónde obtuviste la fuente.
De Git
Si aún no lo ha hecho, clone el repositorio real del proyecto y cambie en el directorio.
git clone https://github.com/libimobiledevice/idevicerestore.git
cd idevicerestoreConfigure el árbol de origen para la construcción:
./autogen.shDe lanzar tarball (.tar.bz2)
Al usar una liberación oficial de Tarball ( idevicerestore-xyztar.bz2 ), el procedimiento es ligeramente diferente.
Extraer el tarball:
tar xjf idevicerestore-x.y.z.tar.bz2
cd idevicerestore-x.y.zConfigure el árbol de origen para la construcción:
./configure Tanto ./configure y ./autogen.sh (que genera y llama configure ) aceptan algunas opciones, por ejemplo, --prefix para permitir la construcción de una carpeta de destino diferente. Simplemente puede pasarlos así:
./autogen.sh --prefix=/usr/localo
./configure --prefix=/usr/localUna vez que el comando sea exitoso, las últimas líneas de salida se verán así:
[...]
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.
Importante
IDEVICERESTORE requiere un USBMUXD adecuadamente instalado para el procedimiento de restauración. Asegúrese de que esté ejecutado o configurado para comenzar automáticamente tan pronto como se detecte un dispositivo en modo normal y/o restauración. Si se instala correctamente, esto será manejado por UDEV/Systemd.
El escenario principal es restaurar un nuevo firmware a un dispositivo. En primer lugar, conecte su dispositivo a su máquina.
Entonces simplemente ejecute:
idevicerestore --latestEsto imprimirá una selección de versiones de firmware que se están firmando actualmente y se puede restaurar al dispositivo adjunto. Luego intentará descargar y restaurar el firmware seleccionado.
De manera predeterminada, se realiza una restauración de actualización que preservará los datos del usuario.
Tenga en cuenta que si el archivo de firmware no contiene una variante 'Instalación de actualización del cliente', se realizará una restauración ERASE.
Puede forzar la restauración de borrar todos los datos y básicamente restablecer el dispositivo utilizando:
idevicerestore --erase --latestConsulte la información de uso o la página manual para obtener una documentación completa de las opciones de línea de comandos disponibles:
idevicerestore --help
man idevicerestore¡Damos la bienvenida a las contribuciones de cualquier persona y estamos agradecidos por cada solicitud de atracción!
Si desea contribuir, bifurca la rama master , cambie, comete y envíe una solicitud de extracción de revisión. Una vez aprobado, se puede fusionar en la base del código principal.
Si planea contribuir con cambios más grandes o una refactorización importante, cree un boleto primero para discutir la idea por adelantado para garantizar menos esfuerzo para todos.
Asegúrese de que su contribución se adhiera a:
Este proyecto tiene licencia bajo la Licencia Pública General General de GNU V3.0, también incluido en el repositorio en el archivo COPYING .
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, tvos, watchos y macOS son marcas comerciales de Apple Inc.
Este proyecto es una aplicación de software independiente y no ha sido autorizado, patrocinado o aprobado de otra manera por Apple Inc.
Readme actualizado en: 2024-10-22