Después del arranque del BIOS, ¿cómo puedo volcar la memoria?

1

Después de que arranque el BIOS, me gustaría volcar la memoria del sistema. He leído acerca de cómo es posible usar FireWire para hacer esto, pero no he encontrado instrucciones o tutoriales al respecto.

usuario1596
fuente
1
¿Podría hacerlo en una máquina virtual o necesita ver la memoria de una máquina específica de metal desnudo?
coneslayer

Respuestas:

0

No habrá nada en la memoria, excepto el BIOS, las construcciones que ha creado y cualquier opción de datos rom.

Sería posible escribir un sector de arranque personalizado, que copie todo en la RAM en un disco, pero estoy luchando por ver la utilidad.

Chris S
fuente
¿Escribir un sector de arranque personalizado no cambia lo que hay en la memoria?
user1596
Algo debe cargarse en la memoria para ejecutarse en la computadora ... La mayoría de las computadoras normales no tienen un puerto JTAG para leer el contenido de la memoria externamente. (La mayoría de los puertos JTAG también son algo lentos)
Chris S
El método Firewire funciona con la unidad Windows Firewire que se está cargando (el controlador concede incorrectamente acceso DMA sin filtro al HBA firewire). No me sorprendería si se ha solucionado en versiones más recientes de Windows. Aquí hay un poco de cómo hacerlo funcionar: storm.net.nz/projects/16
Chris S
¿Entonces el truco firewire solo funciona después de la carga de Windows? Estoy tratando de ver qué hay en la memoria justo después del arranque desde el BIOS, antes de un gestor de arranque o sistema operativo.
user1596
Correcto, Firewire explota una vulnerabilidad de seguridad en el controlador Windows Firewire (al mismo tiempo que modifica técnicamente la RAM / configuración de la máquina). La única forma de obtener una copia absolutamente limpia de la memoria sería a través de un puerto JTAG; y esos son muy raros. Un programa del sector de arranque que vuelca la memoria solo "comprise" 512 bytes de RAM y en una ubicación conocida (segmento 7C0). ¿Qué buscas específicamente?
Chris S
0

escriba un pequeño mbr personalizado que use int 0x13 AH = 43h: Sectores de escritura extendidos para conducir para escribir memoria en el disco. Solo recuerda que los 512 bytes que comienzan en 0x7c00 eres tú. Esa memoria no se llenará con nada antes de que la BIOS cargue mbr allí. Si usa ese método, no depende de FireWire, que es una interfaz poco común.

Aquí puede encontrar una descripción general de la memoria del sistema de bajo nivel: https://wiki.osdev.org/Memory_Map_(x86)

La ubicación 0x7c00 se considera memoria libre. así que no es utilizado por BIOS u otras cosas del sistema, solo se coloca el gestor de arranque, pero eso no es importante. puede reemplazarlo con 0 si desea una copia prístina de la memoria .....

El mapa de memoria puede ayudarlo a escribir ciertas partes de la memoria que tienen contenido para que no necesite volcar grupos de ceros.

Como alternativa a la escritura en el disco, puede volcar en serie si tiene un puerto serie para conectarse con BIOS int 0x14, lo que podría ser más conveniente dependiendo de su configuración.

Hola
fuente