How to dump ZTE F680 whole flash to an usb

La mayor parte de los dispositivos tienen una memoria FLASH en la que se almacena información necesaria para el funcionamiento del dispositivo. Nuestro objetivo es poder hacer un volcado de esta memoria para analizar el sistema operativo y ficheros que lo contiene y poder entender mejor cómo funciona o buscar fallos de seguridad.

En nuestro caso en el ZTE F680 podemos ver las diferentes asignaciones de las que disponemos, siendo el dispositvo /dev/mtd0 el que contiene toda la flash.

En algunas ocasiones no necesitamos todo el contenido o es demasiado grande, y podría interesarnos sólo obtener cierta información como en este caso /dev/mtd5 que contiene la configuración de usuario.


root@F680:~ # cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 08000000 00020000 "whole flash"
mtd1: 00200000 00020000 "u-boot"
mtd2: 00400000 00020000 "parameter tags"
mtd3: 01400000 00020000 "kernel0"
mtd4: 00400000 00020000 "middleware"
mtd5: 00800000 00020000 "usercfg"
mtd6: 01400000 00020000 "kernel1"
mtd7: 00600000 00020000 "others"
mtd8: 00400000 00020000 "wlan"

La solución más cómoda en dispositivos con soporte de USB es conectar un «usb stick», «pendrive», etc… preferiblemente en formato FAT32 para evitar problemas y volcar nuestra información a ese dispositivo.

Por suerte en este modelo el USB es automontado cuando se conecta y no hay que montarlo manualmente. A partir de ese momento tendremos nuestro USB montando en /mnt/usb_x_x_x . Donde las «x» es un número que puede variar como es obvio.

root@F680:~ # cat /dev/mtd0 > /mnt/usb2_1_1/f680-v2/mtd0

Una vez almacenado podemos desmontar el dispositivo y sacarlo para trabajar con él en nuestro máquina.
root@F680:~ # umount /mnt/usb2_1_1 

Si no consigues montar el USB, o el dispositivo no tiene soporte físico o no es posible usarlo. Una alternativa sería usar tftp para transferir ese fichero a un servidor remoto, o una más rudimentaria realizar un volcado hexadecimal, uuencoded, o cualquier variante puramente ascii que podamos capturar por salida de consola, y «ensambrarlo» de nuevo en nuestro equipo.

En el futuro escribiré sobre qué posibildades tenemos para evitar estos obstáculos.


Publicado

en

por

Etiquetas:

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.