construyendo el firm (añadiendo cabecera y pie)

15 f , 2005

La opcion seek del comando dd es exactamente lo que estaba buscando ya que escribe en el archivo destino of= a partir del byte indicado en la opcion seek.

En primer lugar calculo cuanto ocupa el archivo .trx, lo paso a hexadecimal y le pego el nvar asi:

dd if=Desktop/belkin\ firmware\ project/7130_nvar.dump of=Desktop/belkin\ firmware\ project/7130.trx bs=1 seek=1974272

Cuando compruebo usando hexdump me encuentro con algo que me resulta sospechoso y es lo siguiente.

un firmware original mantiene la siguiente estructura al comienzo del nvar

(…)
014cb20 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
014d010 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 N V A R
(…)

Mientras que mi firmware tiene la siguiente estructura.
(…)
01e1c30 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
01e2000 N V A R 247 \f \0 \0 p 266 274 302 \0 200 \0 \0
(…)

Puede estar esto afectando al firmware de algun modo? Al final de este proyecto detallare una lista de los posibles puntos críticos y como comprobar en que punto se encuentra el error (si es que hay alguno…)

y del mismo modo añadimos la cabecera LOAD que primeramente tenemos que extraer del firmware.

dd if=Desktop/belkin\ firmware\ project/F5D7130_4.03.03.bin of=Desktop/belkin\ firmware\ project/7130_LOAD.dump bs=1 count=28

y que es la siguiente:

0000000 L O A D 303 334 024 \0 ( 207 g c \0 200 \0 \0
0000010 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0

ahora deberiamos añadir la cabecera al resto del firmware y finalmente comrpobar el checksum que esta en la cabecera para ajustarlo al tamaño final del firmware.

Comments »

The URI to TrackBack this entry is: http://twilight.blogsome.com/2005/06/15/construyendo-el-firm-anadiendo-cabecera-y-pie/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>