Um aplicativo de linha de comando para restaurar arquivos de firmware para dispositivos iOS.
O aplicativo idevicerestore é uma reimplementação completa de todas as etapas granulares que são executadas durante a restauração de um firmware em um dispositivo.
Em geral, são possíveis atualizações e rebaixamentos, mas sujeitos à disponibilidade de blobs SHSH da Apple para assinar os arquivos de firmware.
Alguns recursos importantes são:
Aviso: esta ferramenta pode destruir facilmente os dados do usuário irreversivelmente.
Use com cautela e certifique -se de fazer backup de seus dados antes de tentar restaurar.
De qualquer forma, o uso é por sua conta e risco.
Você precisa ter um compilador de trabalho (gcc/clang) e um ambiente de desenvolvimento disponível. Este projeto usa o AutoTools para o processo de construção, permitindo ter etapas de construção comuns em diferentes plataformas. Somente os pré -requisitos diferem e são descritos nesta seção.
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 ) é uma nova biblioteca que acabou de ser publicada recentemente, você deve construí-lo a partir da fonte. Além disso, outros pacotes *-dev podem não estar disponíveis para sua distribuição; portanto, você também precisará criar esses pacotes por conta própria. Verifique se as ferramentas da linha de comando Xcode estão instaladas.
Opção 1 : A maneira mais fácil de construir e instalar idevicerestore para MacOS é usar o seguinte script de construção que fará o trabalho para você, ele criará e instalará todas as dependências necessárias:
mkdir -p limd-build
cd limd-build
curl -o ./limd-build-macos.sh -L https://is.gd/limdmacos
bash ./limd-build-macos.sh Siga os avisos do script e você deve ter um idevicerestore em funcionamento.
Opção 2 : Use Macports ou Homebrew para instalar automake , autoconf e libtool .
Usando Macports:
sudo port install libtool autoconf automakeUsando homebrew:
brew install libtool autoconf automake idevicerestore possui algumas dependências do projeto Libimobilevevice. Você terá que construir e instalar o seguinte:
Verifique o README.md para obter instruções de construção e instalação.
O uso do MSYS2 é a maneira oficial de compilar este projeto no Windows. Faça o download do instalador do MSYS2 e siga as etapas de instalação.
Recomenda-se usar o shell MSYS2 Mingw de 64 bits . Execute -o e verifique se as dependências necessárias estão instaladas:
pacman -S base-devel
git
mingw-w64-x86_64-gcc
make
libtool
autoconf
automake-wrapper
pkg-config
libcurl-devel
mingw-w64-x86_64-libzipNota: Você pode usar um shell diferente e um compilador diferente de acordo com suas necessidades. Adapte o comando acima de acordo.
idevicerestore possui algumas dependências do projeto Libimobilevevice. Você terá que construir e instalar o seguinte:
Verifique o README.md para obter instruções de construção e instalação.
Você pode construir o código -fonte a partir de uma finalização do git ou a partir de um Tarball de liberação .tar.bz2 a partir de lançamentos. Antes que possamos construí -lo, a árvore de origem deve ser configurada para a construção. As etapas dependem de onde você tirou a fonte.
De git
Se você ainda não fez, clone o repositório real do projeto e mude no diretório.
git clone https://github.com/libimobiledevice/idevicerestore.git
cd idevicerestoreConfigure a árvore de origem para a construção:
./autogen.shDo lançamento Tarball (.tar.bz2)
Ao usar um Tarball de liberação oficial ( idevicerestore-xyztar.bz2 ), o procedimento é um pouco diferente.
Extraia o tarball:
tar xjf idevicerestore-x.y.z.tar.bz2
cd idevicerestore-x.y.zConfigure a árvore de origem para a construção:
./configure Ambos ./configure e ./autogen.sh (que gera e chamadas configure ) aceitam algumas opções, por exemplo --prefix para permitir a criação de uma pasta de destino diferente. Você pode simplesmente passá -los assim:
./autogen.sh --prefix=/usr/localou
./configure --prefix=/usr/localQuando o comando for bem -sucedido, as últimas linhas de saída ficarão assim:
[...]
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
O Idevicerestore requer um USBMUXD instalado corretamente para o procedimento de restauração. Certifique -se de que ele esteja em execução ou configurado para ser iniciado automaticamente assim que um dispositivo for detectado no modo normal e/ou de restauração. Se instalado corretamente, isso será tratado pelo UDEV/Systemd.
O cenário principal é restaurar um novo firmware em um dispositivo. Primeiro de tudo, anexe seu dispositivo à sua máquina.
Em seguida, basta correr:
idevicerestore --latestIsso imprimirá uma seleção de versões de firmware que estão sendo assinadas atualmente e podem ser restauradas no dispositivo anexado. Em seguida, tentará baixar e restaurar o firmware selecionado.
Por padrão, é executada uma restauração de atualização, que preservará os dados do usuário.
Lembre -se de que, se o arquivo de firmware não contiver uma variante 'Atualização do cliente', será executada uma restauração de apagamento.
Você pode forçar a restauração ao apagar todos os dados e basicamente redefinir o dispositivo usando:
idevicerestore --erase --latestConsulte as informações de uso ou a página manual para obter uma documentação completa das opções de linha de comando disponíveis:
idevicerestore --help
man idevicerestoreCongratulamo -nos com contribuições de qualquer pessoa e agradecemos todas as solicitações de tração!
Se você quiser contribuir, bifurque a filial master , altere, comprometa e envie uma solicitação de revisão. Uma vez aprovado, ele pode ser mesclado na base de código principal.
Se você planeja contribuir com alterações maiores ou uma grande refatoração, crie um ingresso primeiro para discutir a idéia adiantada para garantir menos esforço para todos.
Por favor, verifique se sua contribuição adere a:
Este projeto está licenciado sob a Licença Pública Geral GNU menor v3.0, também incluída no repositório no arquivo COPYING .
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, TvOS, WatchOS e MacOS são marcas comerciais da Apple Inc.
Este projeto é um aplicativo de software independente e não foi autorizado, patrocinado ou aprovado pela Apple Inc.
Readme atualizado em: 2024-10-22