¿Cuál es el punto de "protección de datos de software" en una ROM regrabable?

4

He estado considerando intentar piratear una vieja placa madre de la era '98. La ROM (supongo para la BIOS) es una Winbond W29C020-70 . En su hoja de datos, hay una cosa llamada "Escritura de datos protegida por software" . Lo esencial es que deben escribirse 3 bytes específicos en ciertas direcciones antes de que la ROM le permita escribir en él.

Los valores y las direcciones que deben escribirse están documentados en la hoja de datos, y no creo que haya una manera de cambiar estos valores mágicos. Por lo tanto, el uso de esta función para la seguridad no parece probable. Realmente no puedo pensar en ninguna otra razón para que exista esta característica.

¿Cuál es el punto en este tipo de característica?

    
pregunta Earlz

4 respuestas

7

La secuencia de bytes no es para ocultar el contenido de otros, sino para evitar la sobrescritura accidental de datos. Puede escribir accidentalmente un byte en la EEPROM, pero es mucho menos probable que escriba los tres bytes específicos en una fila.

Y no, no puedes cambiar los bytes.

    
respondido por el stevenvh
3

¿Podría ser para evitar escrituras accidentales de software con errores (con errores)?

La idea podría ser que existe una baja probabilidad de que un programa genere por error los bytes mágicos.

    
respondido por el Chris Laplante
2

En muchos sistemas de microprocesadores, es posible que un problema técnico envíe al procesador a un estado que sobrescriba toda la memoria direccionable. Si un procesador incluye interrupciones o interrupciones de software en instrucciones no válidas, y el vector de interrupción asociado apunta a otra interrupción de software o una instrucción no válida, entonces el procesador puede responder a la captura presionando algunos registros en la pila, saltando a la dirección de captura, presionando algunos registros, saltando a la dirección de captura, etc. Si el acto de empujar registros sobrescribe el vector de captura con la ubicación de otra instrucción que causa una captura o interrupción del software, este proceso puede continuar con el puntero de pila envolviendo repetidamente para repetidamente golpeó toda la memoria direccionable. Tenga en cuenta que, si bien algunos procesadores tienen registros de límites de pila y manejadores de doble falla para tratar el escenario en el que un intento de empujar registros en respuesta a una falla causa una falla de pila, y puede tener lógica para forzar un apagado o un restablecimiento completo Si ocurre otro error antes de que el controlador de doble error tome el control de la pila, muchos procesadores más antiguos y / o más pequeños no tienen ese concepto.

Si una sola tienda en el espacio de direcciones de una memoria flash o EEPROM podría bastar para borrar el contenido almacenado allí, tal falla de microprocesador podría hacer que un producto sea inútil hasta que su chip de firmware pueda ser reemplazado. Ignorar cualquier solicitud de escritura o borrado de información que no forme parte de una secuencia de comandos adecuada reduce en gran medida la posibilidad de firmware accidental a través de este mecanismo.

    
respondido por el supercat
0

Y lo más probable es que hay otros 3 bytes (no documentados) que puede escribir en diferentes direcciones (no documentados) para habilitar o deshabilitar selectivamente la asignación de direcciones de las celdas de memoria.

Para mejorar el rendimiento, deben tener una forma de seleccionar buenas celdas y ocultar las malas. En la memoria flash moderna, la validación y el mapeo son complejos. En esos chips viejos, era más simple.

    
respondido por el david

Lea otras preguntas en las etiquetas