jueves, 16 de octubre de 2008

Artículo: "Abriendo" una firmware

Creo que en alguna otra entrada ya lo comenté, pero bueno, si así fue, lo dejo otra vez explicado.

Las firmwares descargadas de Apple son archivos ipsw. Estos archivos en realidad no son más que archivos zip con la extensión cambiada. Dentro de estos archivos, entre otras cosas, encontramos dos cosas principales:

1º. La imagen del sistema
2º. La RAM Disk de actualización y la RAM Disk de restauración

Los 3 archivos son imágenes estandar dmg. Una imagen de disco, de CD... no es más que un archivo en el que se encuentra toda una estructura de archivos. Así una imagen ISO de un CD contiene todos los datos de este, así como su estructura. Pues las imágenes dmg son usadas en MAC OS para tareas similares, anuque tambien se usan para distribución de programas y otros.

El único problema de estas 3 imágenes, es que están encriptadas, con lo que antes que puedan montarse o abrirse es necesario desencriptarlas. Incluso en el caso de que las desencriptásemos necesitaríamos alguna herramienta para convertir una imagen DMG a otro formato más estandar, como pueda serlo ISO. Otra opción es tener algún programa que sea capaz de interpretar directamente estas imágenes. Estas imágenes DMG usan el sistema de archivo de Apple HFS+, con lo que es complicado encontrar herramientas para manejarlos. En mi ejemplo, como fase final para su apertura usaré la aplicación de Windows UltraIso, que me la abrirá directamente, pero si se prefiere se pueden usar muchas otras. Se googlea un poco y listo.

En mi ejemplo voy a partir de uan firmware 2.1 de Touch viejo, la descomprimo con 7zip y me quedo con estos tres archivos:

018-4116-2.dmg -> Imagen del sistema
018-4146-1.dmg ->Ram Disk Restauración
018-4149-1.dmg -> Ram Disk Actualización

Hoy solo vamos a ver como extraer y desencriptar la imagen de sistema, dado que está encriptada con un formato un poco más facil. Para la desencriptación de las Ram Disk, Apple ha puesto medidas añadidas para complicar la cosa ;) haciendo necesario el hardware AES. Otro día lo explicaremos.

Vamos con la Imagen de Sistema. Tan solo es necesario tener la Key y tener el programa para realizar la desencriptación, ni más ni menos, simple.

El programa Vfecrypt lo podemos obtener de AQUI

La Key es diferente a cada firmware. Para la 2.1 es:

9714f2cb955afa550d6287a1c7dd7bd0efb3c26cf74b948de7c43cf934913df69fc5a05f


Sabiendo esto, tan solo tenemos que ejecutar vfecrypt:

vfdecrypt -i [imagen encriptada] -o [imagen desencriptada ]-k [key]

En mi caso:

"vfdecrypt -i 018-4116-2.dmg -o dec.dmg -k 9714f2cb955afa550d6287a1c7dd7bd0efb3c26cf74b948de7c43cf934913df69fc5a05f"

Una vez realizado esto tendremos algo así:



Cuando acabemos, tendremos un archivo dec.dmg ya desencriptado y listo para ser montado. Una vez desencriptado esto es lo que tendremos si lo montamos con cualquier montador, por ejemplo UltraISO:



Listo y terminado.

Es útil tener esto a mano, siempre podremos recuperar un archivo original en caso de "desastre" o en caso de tocar algo que no debemos

Un saludo.

No hay comentarios:

 
Creative Commons License
Esta obra está bajo una licencia de Creative Commons.