Entrar em modo DFU Iphone e instalar firmware pelo arquivo ipsw sem Itunes (Enter DFU mode and install iPhone firmware ipsw file by without Itunes)
Autor: Flpstr | Publicado: 2014-03-06T18:57:00-08:00


Olá amigos, venho oscilando de tempos em tempos e não decolo com as postagens no blog, na verdade, falta uma fonte de inspiração, e aliás, estou a mudar para o ramo econômico.

Me deparei com um fato muito peculiar:
Colocar o Iphone no modo DFU (modo de recuperação*) sem o Itunes. E instalar o firmware via ipsw. Na verdade é praticamente impossível pelo conteudo a qual lí por aí.

Se tornará um verdadeiro desafio, eu utilizei todas as ferramentas, mas nenhuma estava à correr no IOS7. Como contornar isso?

Pois bem, todos nós sabemos que o Iphone é uma plataforma totalmente fechada, com uma boa criptografia, e que seu homebrew só funciona na base do Jailbreak. Então, tive de apelar para a melhor plataforma para programadores: O vosso Linux :D

Vamos lá, o Linux é uma plataforma Open-Source e que quando há um suporte para drivers ou explorar dispostivos, tende a ter tudo Open-Source. Hah!! Mas afinal, o que isso tem haver?
Tudo!!:
O Itunes tem uma hierarquia de funcionamento fechado, e que apenas com Engenharia Reversa pode-se entender, aliás, estou à generalizar, o Itunes contém acesso á algumas bibliotecas, e uma delas é o MobileDevice.

O MobileDevice é a Dynamic Link Library: 

iTunesMobileDevice.dll, no rWindows

Veja mais detalhes em:

http://theiphonewiki.com/wiki/MobileDevice_Library



Enfim, no Linux ela é chamada de LIBIMOBILEDEVICE...



Não vou explicar a sua total funcionalidade e termos técnicos, mas para curiosos, deixo o link da página principal:



http://www.libimobiledevice.org/&nbsp; 



Certo, entendido o que isso significa, vamos praticar:





Necessário:



-Uma distro Linux. PS: prefira derivativas de Debian e Ubuntu, são distros para novatos, mas funcionam bem.



-Um Iphone. PS: eu utilizei Iphone 4 com IOS7, mas funciona com praticamente todos os modelos de Iphone e Ipad.



-Cabo USB Iphone.

&nbsp;&nbsp;

-Conexão com a Internet.



-Paciência...



------------------------------------------- 

Primeiramente... 



Eu não tenho muito tempo para avançar no modo "verbose", então posso pular algumas partes, Google e DuckDuckGo são seus amigos ;) 



------------------- ---------------------------------------------------------------------------



1--Instale os pacotes deste PPA (libimobiledevice,&nbsp;
                libimobiledevice-tools):

https://launchpad.net/~pmcenery/+archive/ppa



PS: O Ubuntu já tem alguns desses pacotes de seus repositórios oficiais, mas temos problemas com versões...&nbsp; 





Ou compile:

http://www.libimobiledevice.org/

(Procure a seção: Sources and Dependencies)



2--Instale a libirecovery e idevicerestore:



git clone http://cgit.sukimashita.com/libirecovery.git

cd libirecovery

./autogen.sh

sudo make install

&nbsp;----------------------------------------------------------------------------------------

cd ..

git clone http://cgit.sukimashita.com/idevicerestore.git

cd idevicerestore

./autogen.sh

sudo make install



Se tudo ocorrer bem, o seu sistema já deve estar configurado, possiveis erros, são passivos de busca em Search's Engine's.&nbsp; Pois cada sistema tem a sua configuração por padrão...



3--Conecte seu Iphone no PC...Certifique-se de estar ligado...



4- Mande o comando:



ideviceenterrecovery&nbsp; (UDID*)



*O que é UDID? É um ID de quarenta dígitos do seu Iphone, para encontrar:



lsusb -v 2&gt; /dev/null | grep -e "Apple Inc" -A 2
&nbsp;

Pegue o valor do iSerial, esté é o seu UDID...





O comando, no meu caso seria:



ideviceenterrecovery XXXXXXX0fc084d9f7f68912f46224XXXXXXXXXXXX







Pronto, seu Iphone irá entrar em modo DFU em alguns instantes...Deve aparecer a tradicional tela do DFU (iBoot), divirta-se:























Extra: Instalar firmware pelo arquivo ipsw:

Usaremos o comando idevicerestore, digite-o no terminal, e veja a melhor opção, você pode baixar o ipsw do site oficial, ou instalar um próprio, como por exemplo:



idevicerestore -c 'iPhone3,1_5.1.1_9B208_Restore.ipsw' -u XXXXXXXXXc084d9f7f68912f462XXXXXXXXXXXXXXX







Sendo: -c habilitar a opção de firmware ipsw, e -u o UDID do Iphone.





PS: Facilite meu trabalho, explore os comandos ;)
&nbsp;