sábado, 28 de junio de 2014

rom-0 reader (Spanish version)

El primero paso es tener el archivo rom-0 descargado en un archivo, posterior a esto necesitamos leerlo. Existen muchos tutoriales usando dd en linux y otras herramientas, esto esta bien, sin embargo no hay muchas herramientas que lo hagan pos si solas, a excepción de la herramienta creada por Pedro Joaquín ( hkm ).

 Después de buscar la estructura del archivo encontrada en un mirror del articulo de Kender en http://www.hakim.ws/huawei/rom-0/kender.html nuevamente respaldado por hkm ya que en la pagina Original no se encuentra, el articulo  describe breve-mente la estructura del archivo rom-0 como la siguiente:
There's two blocks in my file, one for memory and one for files I guess. They start at 0x00000000 and 0x00002000 respectively and look like this:
BYTE     blocknumber
BYTE     unknown
WORD     nr of objects
DWORD    blockLength
foreach object:
  CHAR[14] objectname
  DWORD    uncompressed size
  DWORD    compressed size
  DWORD    offset to data from start of block


kender en su articulo esta trabajando con el archivo rom-0 de zyxel

En mi caso se trata de un router Huawei modelo HG530

Versión de Firmware 3.12.8.76
Versión de Hardware HG530TRA

Aqui muestro parte del Hexdump rom-0:



Despues de escribir algo de codigo en C


y Compilarlo nos podemos mover a través del archivo rom-0



¿Que hace falta?

  • Leer y guardar en buffer cada uno de los items
  • Descomprimir
  • Guardar la información descomprimida
Codigo Fuente: rom0reader.c

Si deseas que este proyecto este terminado no dudes en realizar una donación

Publicar un comentario en la entrada

Buscar en el Blog

Populares siempre