lunes, 28 de noviembre de 2011

EDITADO: Jailbreak iOS 5.0 (5.0.1) para iPhone 4 (UNtethered) y iPhone 3Gs (untethered PARA TODOS los A4) sin subir la baseband (*EDITADO)

(EDITADO: Mirad al final del artículo por favor).

De nuevo una petición de un buen amigo genera una entrada de este blog. Vamos a seguir paso a paso y con comentarios ampliados los pasos necesarios para fabricar y conseguir un jailbreak del iOS 5 (tethered*) en nuestro querido iPhone.
*tethered: es el modo de jailbreak que deja atado al iDevice a un ordenador, obligando a poner en marcha el dispositivo desde un ordenador siempre que se apague, reinicie o se quede sin batería.
*Editado: El JB desde el 27/12/2011 es untethered!

Introducción.

Para todo el que no conozca el proceso, el jailbreak del iOS es un proceso que se realiza sobre un teléfono iPhone o un iPod Touch, o un iPad , o un Apple Tv, con el objetivo de liberar la posibilidad de usar aplicaciones hechas por terceras partes, que sin este proceso estarían bloqueadas por el sistema operativo de Apple de origen. Es pues, un procedimiento que no gusta mucho a Apple (conocida por su obsesión del control de todo) pero que ha sido confirmado por un juez en EEUU como un procedimiento legal, por tanto, a todos los que se preguntan: ¿Quebranto alguna ley haciendo jailbreak?, podéis leer aquí, que la respuesta es: NO.

Por otra parte, muchos de los usuarios usan el jailbreak para poder aplicar ultrasn0w, que es un programa que permite usar el iPhone de un operador con cualquier operador (liberar el teléfono, en definitiva). Aunque la tarjeta Gevey® también realiza esta función, ultrasn0w hace no necesario la compra de nada para hacer la misma operación. En cualquier caso, ultrasn0w tiene un problema, hace que Apple no se resposabilice de la garantía de ningún dispositivo que llegue al SAT con ultrasn0w instalado (por conflictos de garantía con la Operadora) aunque tampoco se quieren hacer resposables de dispositivos con jailbreak, cosa que siguen teniendo que aceptar de mala gana por la noticia arriba mencionada.

Con esto queda claro que Jailbreak y Liberar no es lo mismo. Son procesos diferentes, con objetivos diferentes y con consecuencias diferentes. También quiero comentar que aunque a partir de ahora para el proceso solamente nombre iPhone, el proceso de jailbreak se usa tanto para iPhone 4, iPhone 3Gs, iPhone 3, iPod Touch 4G, iPod Touch 3G, iPad, iPad 2 y AppleTV.

Manos a la obra.

De todo lo que voy a comentar, nada ha sido programado con código mio, por lo tanto, declino toda responsabilidad derivada del uso de los programas que ahora procedo a enlazar. Esto es importante, ya que cada uno tiene que hacerse cargo del riesgo que supone no ser un experto en el manejo de estas acciones y ponerse manos a la obra con un cacharro tan caro como un iPhone o un iPad.

Si alguien quiere usar ultrasn0w no puede permitir que la baseband del iPhone se actualice a las novedades que Apple incorpora. Más que nada porque las únicas novedades que va incorporando Apple en las actualizaciones de la baseband es el cierre de los posibles bug's que permiten usar ultrasn0w.

Lo primero que tenemos que hacer es crear una custom .ipsw para no subir nuestra baseband (nota: si hemos actualizado nuestro iDevice con iTunes alguna vez sin seguir este procedimiento, es probable que ya hayamos actualizado la baseband, por tanto, hay que comprobar si con la versión actual de tu baseband se puede realizar el jailbreak. Para eso, hay una web muy sencilla que te lo dice: http://www.jailbreak-me.info/). Para crear esta modificación del sistema original de Apple, hay que usar una herramienta, dependiendo si usas Mac o Windows. Las 2 hacen el mismo proceso:
  • Para Mac: Redsn0w *Actualizado para hacer el JB untehtered!, del Dev Team, el primer equipo que se preocupa de mantener y mejorar el jailbreak de los iDevices.
  • Para Windows hay varias opciones, ya que son varios los grupos de hackers que han desarrollado la versión Windows de este hack, en esta ocasión usaremos el SnowBreeze del equipo ih8sn0w.com (*actualmente lo están modificando para que soporte el untethered).
Una vez descargado vamos a iTunes, y si enchufamos nuestro iDevice nos dirá que hay una versión nueva de sistema operativo para nuesto dispositivo, pero de las varias opciones que nos da, le diremos que solo la queremos descargar. Mientras, vamos haciendo una copia de seguridad de nuestro iDevice, ya que lo vamos a perder todo. Esto es importante puntualizarlo, ya que todas las aplicaciones que tengamos en el iPhone se borrarán porque vamos a instalar una versión nueva de Sistema Operativo, es algo así como cuando formateamos el ordenador. Con la copia de seguridad del iTunes podremos luego dejar el teléfono como estaba (salvo las aplicaciones descargadas con Installous). Si no sabes guardar los contactos, las citas del calendario, fotos, música, videos, etc, te sugiero leas un poco sobre iTunes en internet, que hay muchos sitios donde explica como gestionar esa información.

Una vez descargada la .ipsw (es el formato en el que viene el sistema operativo de Apple), iremos a:
  • Windows XP: C:/documents and settings/[Nombre_Usuario]/Application Data/Apple Computer/iTunes/iPhone Software Updates
  • Windows Vista/7: C:/users/[Nombre_Usuario]/AppData/Roaming/Apple Computer/iTunes/iPhone Software Updates
  • Mac: Nombre_Usuario/Library/iTunes/iPhone Software Updates

Como queremos controlar los procesos que va a seguir SnowBreeze, copiamos la .ipsw al escritorio. Y ahora ejecutamos SnowBreeze. Aparece un menú, en perfecto inglés, y vamos a seleccionar, tras los créditos, el paso de seleccionar el archivo (o Browse) y le decimos que coja el que está en el escritorio. Tras la verificación del sistema, nos dará unas opciones, de las cuales, nos interesa seleccionar General porque le vamos a pedir que nos active el sistema una vez hecho el jailbreak. Ojo! Esto se selecciona ahora, pero no vamos a hacer el jailbreak aún, vamos a crear la custom.ipsw para poder hacer el jailbreak sin subir la baseband. Si no hiciéramos este paso, actualizaríamos todo, con jailbreak pero perderíamos la posibilidad de usar ultrasn0w.

Después de pulsar la opción de activar, ya podemos volver a la primera pantalla y entonces, con la flecha azul, hará el proceso (que tarda un buen rato), en crear la custom.ipsw

Veréis que no he usado la opción de "Jailbeak after construction", es porque no vamos a aplicar la custom.ipsw al iPhone con el programa de SnowBreeze, que si se puede, lo vamos a hacer con RedSn0w.

Cuando tengamos la custom.ipsw, en el escritorio veréis que hay un archivo y una carpeta nueva. El archivo es la .ipsw modificada. Ahora sugiero coger la "original" y borrarla. Si la necesitamos, la tendremos donde la descargó iTunes, así que la podemos borrar tranquilamente, para solamente tener la modificada y que no haya error. Ahora vamos a hacer el jailbreak de verdad, y viene cuando tenéis que ser expertos en poner el iPhone en modo DFU.

El modo DFU es indispensable para poder aplicar tanto la Custom.ipsw como aplicarle el jailbreak. Como lo vamos a tener que hacer varias veces porque el jailbreak es tethered, una buena práctica va a venir muy bien. También es indispensable que el teléfono esté apagado y enchufado al ordenador por el cable USB.
Ahora vamos a aplicar la Custom.ipsw usando iTunes y RedSn0w. Una vez descargado RedSn0w (del enlace de arriba), debemos seleccionar, en la casilla "Extras" la opción "Pwned DFU", que pondrá el teléfono en modo DFU pero en versión que llaman "promiscuo".

El modo DFU se consigue así:
  1. 3 segundos apretando el botón de bloqueo del iPhone (el de arriba), veréis como se enciende la manzanita.
  2. Sin soltar el botón de bloqueo, apretamos el botón Home (el redondo de abajo) teniendo los 2 apretados unos 10 segundos aproximadamente (veréis como desaparece la manzanita) pero sin soltar los 2 hasta 4 segundos después de que desaparezca la manzanita.
  3. Soltamos el botón de bloqueo (el de arriba) pero no el de Home, y lo dejamos apretado hasta que en la pantalla del RedSn0w veamos que ha reconocido que el teléfono ya está preparado, entonces le aplicará una serie de cambios y queda listo para el siguiente paso.

El siguiente paso es restaurar con iTunes. Para eso, abrimos iTunes y como tenemos el teléfono en modo DFU, veremos un cartel extraño que nos pedirá restaurar:


Entonces es cuando en:
  • Mac: Option + Click en Restaurar.
  • Windows: Shift + Click en Restaurar.
Y nos pedirá confirmación. Aquí se borrará toda la información del iDevice, grabará y flasheará con la nueva iOS que hemos customizado y tendremos el iOS 5 sin subir la baseband en nuestro iPhone/iPod/etc.
Cuidado, queda por hacer el jailbreak, ahora solo hemos metido el nuevo iOS en el iDevice.

Jailbreak time baby!

El proceso con el iTunes ha finalizado (esperemos que con completo éxito) y el sistema ha reiniciado con una pantalla que nunca habéis visto hasta ahora. No lo configuréis, porque lo vamos a "destrozar" y al final habrá que volver a actualizarlo.

Ahora abrimos RedSn0w de nuevo y lo que vamos a hacer es el jailbreak.

Y esperará al teléfono en modo DFU. Como ya somos expertos en eso, no lo vuelvo a explicar (si hay que volver a leer un poco más arriba, se lee). Y cuando lo detecte, empezará a hacerle los cambios y parará para ofrecernos más opciones:
Le volvemos a marcar la activación.
Marcamos que queremos Cydia (el jailbreak sin Cydia sirve de bien poco).
Y siguiente hasta que el proceso acabe. Ese proceso puede tardar bastante tiempo, así que hay que hacerlo con el móvil cargado y con paciencia.

(Esta parte para los Jailbreak Tethered, anteriores al 27/11/2011)
Al acabar, va a querer reiniciar, pero como el jailbreak que hemos hecho es tethered, hay que usar RedSn0w (o una herramienta similar) para arrancarlo. Arrancamos de nuevo RedSn0w y seleccionarmos en "Extras"-->"Just Boot", y de nuevo modo DFU. Cuando acabe, nuestro teléfono estará jailbreakeado, encendido, activado, Cydia instalado y listo para ser restaurado una copia de seguridad desde iTunes. Al ejecutar iTunes, nos informará de haber encontrado de nuevo el teléfono pero nos dirá si usarlo como nuevo o restaurarle la copia de seguridad. Como es el mismo S/N identificará la copia de seguridad, así que retauradla y tendréis los sms, los contactos, el calendario y todo lo que anteriormente hayáis guardado, en su sitio.

Si hemos usado la herramienta RedSn0w 0.9.10b1 tendremos el jailbreak untethered, por lo que no tendremos nada más que iniciar nuestro dispositivo normalmente.

Atajo, cortesía de Panwy.
Para los que ya habéis hecho el jailbreak tethered de la iOs 5.0.1, hay una forma muy rápida y sencilla de hacer que sea untethered (algo así como se hizo con el semi-untethered).
Desde Cydia, podéis descargar el programa Corona 5.0.1 y tan solo con eso, ya estará el untethered funcionando!.


Conclusión.
No es un proceso simple. Requiere paciencia, capacidad de aprendizaje, algo de ensayo error (que nadie se desespere si el modo DFU no sale a la primera) y conocimiento de que, tras eso, hay que seguir leyendo y aprendiendo, ya que jailbreak no es un proceso para los que no se quieren complicar la vida.
Espero haber ayudado a arrojar un poco de luz a este proceso y dar las gracias a todos los foros y desarrolladores que sigo para poder aprender estos conocimientos y comentarlos aquí.
Bibliografía:

  • Actualidadiphone.com
  • Applesfera.com 
  • iphone-dev.org
  • ih8sn0w.com
  • limera1n.cc

    Editado:
    Ayer día 12/12/2011 aparece en Twitter la noticia de @Pod2g donde explicaba que ya han conseguido el exploit para el jailbreak untethered del iOS 5 en el iPhone 4 y que cuando esté probado y listo para el iPad 2 y el iPhone 4S lo liberarán. 
    Estad atentos a la subscripción de mi blog para enteraros de inmediato cuando aparezca.
    http://www.greenpois0n.us/2011/12/untethered-jailbreak-for-ios-501.html


    Editado:
    Felices Fiestas! Los hackers de iOS tanto @Pod2g como los del Dev Team, han estado trabajando duro para que podamos disfrutar del JB untethered estas Navidades!.
    Ahora solo hay que realizar el mismo proceso que siempre, pero con el nuevo redSnow a la hora de hacer el JailBreak. Adjunto link al lado del antiguo!


12 comentarios:

  1. Una corrección, después de poner el iPhone en pwned DFU, cuando vamos a seleccionar en iTunes el ipsw, dices que en Mac es command + click, pero no es así. Es la tecla option + click.

    Salu2!!!

    ResponderEliminar
  2. Tienes mucha razón amigo Pablo. Ahí va la corrección. Gracias por leerme!

    ResponderEliminar
  3. A todo esto... Cuando me da a elegir un modo... que elijo? Baseband preservation, no?

    ResponderEliminar
  4. Correcto. Ese es el objetivo, Jero. Un saludo.

    ResponderEliminar
  5. Jose, para hacer el Jbreak, para windows, me bajo el redsn0w o lo hago con el sn0wbreeze?

    ResponderEliminar
  6. Lo puedes hacer con los 2 programas. Para seguir mi tutorial, te lo pongo fácil. Con uno haces la custom (snowbreeze) con el otro el jailbreak y el arranque. Lo he hecho así porque el RedSnow detecta el teléfono en DFU y es "algo" más sencillo, aunque veo que no suficiente.
    Suerte amigo!.

    ResponderEliminar
  7. Buenos días Jero. El error 1601 se soluciona actualizando el iTunes a la última versión. No te preocupes.
    Si el error persiste, cambia el cable de USB.
    Un saludo.

    ResponderEliminar
  8. Thanks a lot. :D Lo probaré de nuevo esta tarde :D

    ResponderEliminar
  9. Reinstalado desde 0. Cambiado el cable, el USB y demás... y nada error 1601

    VOy a probar a hacerlo desde otro ordenador... y luego restauro copia de seguridad en el mio.

    ResponderEliminar
  10. Sería bueno que me dijeras que versión de Windows usas y su service pack, la versión de iTunes y la versión de iPhone que ibas a restaurar.

    ResponderEliminar
  11. José, puedes añadir que si ya tienen el jail tethered tan solo hay que descargar de cydia "corona 5.0.1 untethered" y ya lo tendremos untethered!.

    Salu2!!!

    ResponderEliminar