Pregunta ROM

3 views
Skip to first unread message

Jesus Guibert

unread,
Jun 24, 2015, 8:59:14 AM6/24/15
to comunida...@googlegroups.com
Buen día muchachada, va una pregunta de memorias ROM, para mover un poco las neuronas para combatir el frió.

Supongamos que tenemos un dispositivo que tiene una memoria ROM, en la cual hay cierta información. Por lo general alguna rutina o datos que utiliza el microprocesador que tiene el dispositivo.

Se puede sacar los datos que tiene esa ROM?



Nicolas Zuasti

unread,
Jun 24, 2015, 9:04:58 AM6/24/15
to comunida...@googlegroups.com

Para aclarar jesus. Por sacar se entiende elimina o leer.


--
Has recibido este mensaje porque estás suscrito al grupo "Tecnicos" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a comunidadtecni...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Jesus Guibert

unread,
Jun 24, 2015, 9:08:33 AM6/24/15
to comunida...@googlegroups.com
Perdón, seria leer ;) ... me preguntaron hace unos días si se podía extraer el firmware de un sistema embebido para por ejemplo, en modo educativo "estudiarlo". 


Nicolas Zuasti

unread,
Jun 24, 2015, 9:14:35 AM6/24/15
to comunida...@googlegroups.com

Oka. La dejo alli para que el resto se ejercite.

Gastón Oberti

unread,
Jun 24, 2015, 11:27:19 AM6/24/15
to comunida...@googlegroups.com
Jesus, si se puede y es súmamente fácil.
Si mirás bien, el chip tiene unos numeritos y letras impresos arriba. Solo tenés que acercarte bien y leerlos. Precisas buena luz o alguna lupa o algo de eso. Y listo, ya lo leiste!

Hablando en serio, si se puede: http://www.nycresistor.com/2012/07/07/stick-a-straw-in-its-brain-and-suck-how-to-read-a-rom/

saludos!
       -- Gastón Oberti --        
gastonoberti.wordpress.com

Jesus Guibert

unread,
Jun 24, 2015, 11:43:43 AM6/24/15
to comunida...@googlegroups.com
jajaja sip Gaston, se puede el truco esta en que una memoria ROM no es mas que una matriz, en donde cada fila de la matriz es una "posición"  que contiene un objeto llamado Palabra.

Como bien dijiste, la misma tiene un determinado PinOut, entre los que claramente se identifican los del tipo Ax(Address), Dx(Data).
Entonces ahí tenemos una correspondencia, para cada valor que le damos a las entradas Ax, las cuales especifican la dirección de memoria que queremos acceder. Y las salidas Dx nos dan la palabra que esta almacenada en esa dirección de memoria.

Un ejemplo sencillo seria una memoria ROM que tenga 3 entradas A2,A1,A0, es decir que tenemos un total de 8 combinaciones posibles. Y cada una de estas posiciones almacenan a una palabra (en este ejemplo 1 bit):

Imágenes integradas 2

En esa tabla podemos ver fácilmente la implementacion de una función booleana. Lo bueno llega si se incrementa el tamaño de palabra. Por ejemplo 8 bits.

Donde podríamos en un principio almacenar un dígito ASCII por ejemplo... o mejor aun una instrucción de un microprocesador ;)

En resumen para sacar la data, lo único que tenemos que hacer es identificar las entradas de dirección y mandarle todas las combinaciones posibles e ir almacenando la palabra que en la misma se encuentre almacenada.

Ahí vamos a tener un hermoso documento que si nos avivamos lo codificamos en hexadecimal y ya tenemos el Dump :P
solo resta interpretar ese dump y traducirlo a código de bajo nivel y ta pronto...

Perfectamente se puede utilizar para "aprender" a como funciona algún sistema embebido ;)

Jesus Guibert

unread,
Jun 24, 2015, 11:44:18 AM6/24/15
to comunida...@googlegroups.com
No me cargo la imagen....
 Imágenes integradas 1
Reply all
Reply to author
Forward
0 new messages