GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo obtener una dirección de memoria específica usando C

Un problema que tiene es que obtiene una dirección virtual, no la dirección física donde reside la memoria. La próxima vez que inicie, la asignación probablemente no será la misma.

Esto definitivamente se puede hacer dentro de un módulo kernel en Linux, pero no creo que haya ningún tipo de API en el espacio de usuario que pueda usar.

Si tiene permiso (y supongo que podría ser root en esta máquina si la está reiniciando), entonces puede echar un vistazo a /dev/mem para ver el diseño físico real. Tal vez debería probar valores de muestreo, reiniciar y ver cuántos de esos valores persistieron.


Hay un proyecto similar donde se demuestra un ataque de arranque en frío. El código fuente está disponible, tal vez pueda inspirarse allí.

Sin embargo, AFAIR leen la memoria sin cargar un sistema operativo primero y, por lo tanto, no tienen que meterse con la protección de la memoria del sistema operativo. Tal vez debería probar esto también para evitar que el sistema operativo sobrescriba o borre la memoria después del arranque.

(Mira también el video en el sitio, es bastante impresionante;)


Linux
  1. Cómo cambiar la dirección MAC usando macchanger en Kali Linux

  2. Cómo encontrar texto específico usando GREP en Linux

  3. ¿Obtener mtime de un archivo específico usando Bash?

  4. Obtenga la dirección MAC usando un script de shell

  5. ¿Cómo obtener el sistema operativo actual en MSBuild?

Cómo encontrar/obtener su dirección IP en Linux

Cómo verificar la memoria compartida de Linux usando el comando ipcs

Cómo obtener su dirección IP en Linux

Cómo obtener la dirección IP del contenedor Docker

¿Cómo bloquear una dirección IP usando .htaccess?

¿Cómo obtener el nombre de dominio en Windows usando el comando?