sábado, 6 de noviembre de 2010

Cómo actualizar el iPhone 4 sin subir el baseband

Cómo actualizar el iPhone 4 sin subir el baseband

4.0 4.1 jailbreak IOS ultrasn0w geohot iphone 4 limera1n ipod touch 4g



Ahora que de nuevo tenemos Jailbreak fácil para el iPhone 4, muchos nos preguntan acerca de la liberación. En esta entrada vamos a explicar por qué este tema de liberación (es decir, poder usar el iPhone 4 con cualquier operador aunque esté bloqueado para uno determinado) es complicado; En los comentarios, vemos que muchos confunden términos y llaman a las cosas por el nombre que no es… por eso, antes de explicar cómo actualizar un iPhone 4 al último firmware sin actualizar también el baseband, pensamos que es importante explicar qué es cada uno de los términos que manejamos en este tutorial.



Lo primero, es el firmware. Un firmware, es un paquete de ficheros, comprimido en formato ZIP, que contiene todos los archivos que hacen falta para que iOS funcione en un iPhone, iPod Touch, Apple TV o iPad. Es común llamar iOS al firmware, porque en esencia, es lo mismo. El Jailbreak, modifica iOS para que permita la instalación y la ejecución de aplicaciones que no han sido aprobadas por Apple. El instalador utilizado para instalar estas aplicaciones o modificaciones del sistema operativo, se llama Cydia.







Lo segundo, es explicar qué es un baseband. El baseband, es el software que controla el sistema de radio del iPhone. Es decir, que se encarga de administrar a qué antenas de telefonía móvil se conecta el iPhone, con qué fuerza a cada una, como se cambia de antena (handover), busca nuevas antenas, comprueba los datos de la tarjeta SIM y del operador al que pertenece, etc – es decir, que es la parte del iPhone que determina si un iPhone está bloqueado para un operador de telefonía móvil, o no. Es por esto, que hay que engañar al baseband para que funcione con cualquier operador, si lo que tenemos en las manos es un iPhone que tiene el baseband programado para funcionar sólo con un operador determinado. La manera de ‘engañar’ al baseband, es mediante la inyección de código gracias a un pequeño proceso que funciona en segundo plano y que ‘parchea’ las rutinas de comprobación del baseband, haciéndole pensar que la tarjeta SIM que tiene metida es del operador para el que tiene ‘permiso’ funcionar.



En los últimos meses, hemos usado Ultrasn0w, que es precisamente el programa que hace eso; Esto quiere decir que sólo si ese programa se está ejecutando, el baseband es engañado. Esto es así, porque el baseband siempre está bloqueado para un sólo operador en un iPhobe bloqueado; Si desinstalamos Ultrasn0w (o Blackra1n en el pasado), el iPhone se bloquea de nuevo. Si actualizamos el firmware, perdemos el Jailbreak, si perdemos el Jailbreak perdemos Ultrasn0w, y si perdemos Ultrasn0w, perdemos la liberación. Al mismo tiempo, habitualmente Apple sube actualizaciones del baseband en sus nuevos firmwares (es decir, en el paquete de ficheros de iOS viene también un paquete de actualización del baseband) que corrigen los agujeros de seguridad que permiten a programas como Ultrasn0w inyectar su código, y por lo tanto estos dejan de funcionar. ¿Cómo sabe Apple en dónde están esos agujeros de seguridad proporcionados por fallos en la programación de ese baseband? – pues muy sencillo: Le hacen el Jailbreak a un iPhone e investigan cómo funciona Ultrasn0w. Si, para que Apple pueda encontrar estos agujeros, también tienen que hacer el Jailbreak.



Es por todas estas razones, que cuando actualizamos con iTunes a una versión superior de iOS, debemos tener mucho cuidado con el baseband, en el caso de que usemos el iPhone con un operador para el que no está permitido que funcione. El baseband, no se puede ‘desactualizar’ (salvo en muy raras excepciones que hace mucho tiempo que no se pueden producir de nuevo) – esto quiere decir que incluso si conseguimos bajar nuestra versión del firmware (iOS), el baseband no cambia y se queda con la última versión. En otras palabras, aunque tengamos una versión de iOS en la que podamos hacer el Jailbreak e instalar Cydia, el baseband se queda bloqueado porque Ultrasn0w no puede funcionar con esa versión más actualizada que tiene las vulnerabilidades (exploit) que el programa utiliza, parcheadas.



Ahora que todo esto queda un poco más claro, procedemos a explicar una de las maneras con las que podemos actualizar la versión de iOS de un iPhone 4 sin modificar el baseband. Habitualmente, se ha venido utilizando PwnageTool o Sn0wbreeze, que son programas que ‘extirpan’ el baseband de ficheros de firmware de iOS, que luego podemos cargar en iTunes localmente y actualizar, esta vez, sin el baseband. Existe otra manera que últimamente tiene más popularidad, que consiste en interceptar la actualización del baseband cuando iTunes intenta cargarla en el iPhone, mediante la utilización de un programa llamado TinyUmbrella, que es famoso porque permite también extraer los códigos ECID/SHSH que permiten luego hacer ‘downgrades’ (bajar la versión de iOS, pero, recordemos, no el baseband). Este programa, tiene en su última versión la posibilidad de colocar una ‘escucha’ que intercepta el intento de iTunes de actualizar el baseband del iPhone y se lo impide; Es por esto que iTunes, da un error 1004 al final del proceso, y es normal. Estos son los pasos;



- Primero nos debemos de hacer con los ficheros necesarios para todo el proceso. Descargamos el programa TinyUmbrella (para Windows, Mac Intel, Mac PPC, Linux). Una vez tenemos el programa, descargamos el fichero de firmware de iOS correspondiente a la versión a la que queremos subir. Tenemos una página con la lista de firmwares más utilizados aquí. Asegúrate de descargar el firmware correcto para tu dispositivo. El firmware, es un fichero con extensión .ipsw – pero en realidad, no es más que un fichero .zip (aunque con otro nombre). Algunos navegadores web, interpretan esto como un fichero .zip y nada más descargarlo lo descomprimen, mostrando sólo la carpeta que tiene los ficheros de iOS, pero no el fichero comprimido .ipsw – si es así, desactiva las opciones de ‘ejecutar fichero tras descargar’ y similares en la configuración de tu navegador, o prueba con otro navegador.



– Conectamos el iPhone con su cable USB al ordenador. Una vez que tenemos el fichero .ipsw y TinyUmbrella, ejecutamos este segundo. Si usas Mac, no lo ejecutes desde la ventana del DMG, sino desde la carpeta de Aplicaciones (a donde tienes que copiar antes el ejecutable). En Windows, es importante ejecutar como administrador, se hace con el botón derecho y eligiendo la opción de ejecutar como administrador. Ya que tenemos TinyUmbrella abierto, guardamos el SHSH, algo que deberíamos hacer en todas las versiones de iOS que tenga nuestro iPhone (nunca está de más tener ese fichero guardado). Una vez tengamos el fichero SHSH guardado, pulsamos sobre Start TSS Server; Este es el paso más importante, es lo que permitirá a TinyUmbrella saber cuándo iTunes intenta actualizar el baseband del iPhone.







– Abrimos iTunes, y esperamos a que encuentre el iPhone conectado. Aparentemente, nada cambia. Una vez estemos ahí, pulsamos sobre nuestro iPhone, y veremos los botones de actualizar y restaurar iPhone. Mientras pulsamos la tecla Shift (Windows) o la tecla Alt (Mac) y el botón restaurar en iTunes, debe salirnos una ventana de elegir fichero – es importante que no pulsemos el botón restaurar sólo porque si lo hacemos, no nos dará la oportunidad de elegir firmware nuevo. Elegimos el fichero .ipsw que hemos descargado antes, y la restauración empezará. Al terminar, como hemos comentado, iTunes dará error 1004. Es normal.



– Cuando haya terminado, en TinyUmbrella pulsamos sobre Kick Device Out of Recovery.



Ya está. Con esto, podemos tener un iPhone 4 con el baseband anterior (01.59) y iOS 4.1, vulnerable a Ultrasn0w, que podemos instalar desde Cydia y que nos permitirá usar el iPhone 4 con cualquier operador.






Autor: papa_verga
http://bajarcelular.blogspot.com/

No hay comentarios:

Publicar un comentario