sábado, 5 de enero de 2013

Desbloqueando mi iPhone 3GS con redSnow (jailbreak + unlock): 5.0.1 y 6.0.1

Ahora que he vuelto a España, tenía que habilitar de nuevo un terminal telefónico distinto al que tenía en Brasil (que se queda allá). Así que tiré de mi viejo iPhone 3GS, y he tratado de actualizarlo. Describo aquí un poco el proceso que he seguido por si a alguien le puede servir de ayuda.

Por el camino he perdido un montón de contactos, pero casi seguro que no los necesito, pues o mantengo contacto con otras vías, o están almacenados en otros teléfonos, o en contactos de Google/Skype, etc...

Así, que llevaba un tiempo que no utilizaba el iPhone y lo veía además de un poco viejo, un poco lento. Así que me puse a investigar, y la verdad es que he vuelto a enterarme de como está la esfera del Jailbreaking.
Como siempre, está lleno de Scams, de soluciones de "pago" mágicas, etc... Así, que me fui a la fuente fiable del dev (http://blog.iphone-dev.org/) y empecé a tirar del hilo y desempolvar conocimientos.

El teléfono lo tenía ya liberado en la versión 3.1.1, y con el Cydia que había ejecutado de vez en cuando. Desde luego, cuando ejecuté el Cydia, vi que tenía las firmas SHSH de unas cuantas versiones, aunque de la 5, sólo estaba la 5.0.1 (que es la que tengo actualmente). Recuerdo que sólo se pueden cargar firmwares que estén firmadas por Apple. Para ello, Cydia va subiendo automáticamente a un servidor las claves. Esto funciona con peticiones desde el dispositivo, a la página de Apple, solicitando una firma para un dispositivo concreto para una versión de firmware concreta. Cuando Apple saca una nueva versión de Firmware, establece una ventana temporal en la que acepta estas solicitudes. Si no ejecutaste Cydia (o la otra opción que es con TinyUmbrella) en su debido momento, entonces, ya no se puede hacer.

Esto fue lo que hice. A mí me funcionó. Si quieres seguir estos pasos, úsalo bajo tu propio riesgo.

El primer intento

Fue instalar el 6.0.1, que al parecer ya estaba disponible el jailbreak. ¿Qué es jailbreak? Recordemos que hacer el jailbreak no es lo mismo que liberar (free) el telefóno. Con el jailbreak se consigue poder instalar software en el dispositivo sin firma digital por parte de Apple. Lo que nos permite instalar ciertas herramientas extra, que en principio pueden liberar el móvil para utilizarlo con otra operadora.
Los pasos que di, fueron:
  1. Bajarme el redsn0w_win_0.9.15b3 (el último disponible aquí)
  2. Bajarme la imagen de iPhone2,1_6.0.1_10A523_Restore (firmwares)
  3. Bajarme la imagen de iPhone2,1_6.0_10A403_Restore (firmwares) Es necesario para arrancar la 6.0.1 por un pequeño problema.
  4. Ejecutar redsn0w con las siguientes opciones:
Algunos pasos.











Muy importante esta opción:


Y automáticamente, debe empezar a actualizar el sistema.

Luego, para arrancarlo, hay que hacer uso de la opción "Select IPSW" de la segunda pantalla, y seleccionar el firmware de la 6.0 que nos hemos descargado también. Con esto se corrige el error de "missing keys.plist data for this build".

Conclusiones del primer intento:
* IOS 6.0 y 6.0.1 no se pueden liberar sin tener que conectar el cable cada vez que se enciende el teléfono. Es decir, el jailbreak es tethered (es decir, "atado"). Solo es "untethered" para una versión antigua del iPhone 3GS (old bootrom).
* Si estás actualizando, quédate con el BaseBand que tenías (Ajustes->General->Información->Firmware del modem). Yo tenía la versión 05.13.04 que es posible de liberar con la herarmienta ultrasn0w. Recordamos que ultrasn0w, se instala y ejecuta desde Cydia.
* Cuando se arranca un teléfono normalmente, aunque aparezca el icono de Cydia, no se podrá ejecutar, y tampoco se ejecutará ultrasn0w, por lo que no estará funcionando el desbloqueo.


Segundo intento y definitivo

Como no me gustaba el tethered, al final lo que hice fue utilizar la versión 5.0.1.
Me la bajé, la personalicé (customize ipsw) para que preservara el Baseband, le metí las claves SHSH, y luego utilizando la opción de  Pwned DFU, puse el teléfono en ese modo.
Luego se arranca el iTunes, y cuando detecte que el teléfono está en modo de recuperación, en el menú simplemente hay que utilizar la tecla Shift al darle a la opción de recuperar. Entonces se abre un diálogo, y se carga el archivo ya personalizado. Entonces, empezará la recuperación:



Cuando terminé, nos dirá que la tarjeta SIM no es válida ("Parece que la tarjeta SIM insertada en este iPhone no es compatible"). No hay ningún problema. Conviene salir de RedSnow porque no detecta bien el modo de DFU justo después de dejarlo en "Pwned DFU". Ya podemos utilizar en el redsnow la opción de "Jailbreak".
Cuando RedSnow detecte el modo DFU, empezará la acción. El iPhone se reseteará, y empezarán a salir muchas letras. Luego, aparecerá un icono con una piña corriendo, y un cartelito que pone "Moving Applications" con una barra de progreso. Tardará unos minutos.

Volvió a inicializarse y apareció el asistente de iPhone para configurar el terminal. Contesté lo normal (país, idioma, zona horaria, ...).

Luego en Cydia se busca en el repositorio de UltraSnow (opción Manejar -> Fuentes -> repo666.ultrasn0w.com) y se instala.
Es buen momento para instalar el resto de utilizades (yo por ejemplo utilizo la de SB Settings, utilizando la opción "Buscar"). Después de esto, solo hay que reiniciar para que se ejecute el liberador (pues a mi se me quedó en "Buscando..."), y ya está listo.

A instalar todas las aplicaciones que queramos...