¿Hay alguna manera de ver el contenido de la memoria RAM? Desde el primer byte hasta el último. Me gustaría ver dónde están ubicados en la RAM el sistema operativo y todos los procesos que se ejecutan en él. es posible?
¿Hay alguna manera de ver el contenido de la memoria RAM? Desde el primer byte hasta el último. Me gustaría ver dónde están ubicados en la RAM el sistema operativo y todos los procesos que se ejecutan en él. es posible?
Respuestas:
Podría usar un depurador de kernel, que permitiría el acceso a la memoria "sin procesar", como Softice para Windows . También puede configurar GDB para que actúe como un depurador para el kernel de Linux . Si una máquina virtual es una opción, algún software de virtualización admite guardar el estado de la máquina (incluida la RAM) en el disco, que luego puede ser más analizado . Cabe señalar, sin embargo, que la mayoría de los sistemas operativos "modernos" utilizan asignación de espacio de direcciones al azar (ASLR). El verdadero mapa de memoria física del sistema está deliberadamente fragmentado para ayudar a mitigar varios problemas de seguridad y vulnerabilidades (es decir, apilar / montón desbordamientos de búfer).
Sin embargo, para un programa dado que se ejecuta en un sistema operativo moderno, puede obtener un mapa de memoria lógica para un proceso / subproceso dado, siempre que tenga los símbolos de depuración y el depurador adecuados. Si desea una vista general, si el software / hardware utiliza memoria virtual , la situación se vuelve drásticamente más compleja. Una vez más, si literalmente quieres lo que sólo en la memoria RAM, ver el primer párrafo.
En Windows, se puede acceder al contenido de la memoria física a través de \Device\PhysicalMemory
objeto en el Administrador de objetos . Esto requiere acceso al sistema a nivel de kernel, lo que significa que necesitaría instalar un programa, probablemente un controlador en modo kernel, para acceder a este objeto.
En Linux, se puede acceder directamente al contenido de la memoria física como datos binarios leyendo /dev/mem
como root
. Ver ¿Qué es / dev / mem? y el mem(4)
Página de manual para más detalles.
No estoy seguro de por qué necesita determinar dónde se ubican el sistema operativo y los procesos en la memoria física, aunque ...
\DevicePhysicalMemory
objeto no se puede abrir desde el modo de usuario. RAMmap y la mayoría de las otras herramientas de sysinternals incluyen un controlador de modo kernel para hacer esa parte de su trabajo.