¿Cómo puedo acceder al dispositivo equivalente / dev / mem (o / dev / kmem, / dev / pmap) en OSX?
Que yo sepa, fue eliminado en algún momento.
¿Puedo crear este nodo manualmente de alguna manera u otra forma de volcar la memoria física?
Ver:
¿Cómo puedo acceder al dispositivo equivalente / dev / mem (o / dev / kmem, / dev / pmap) en OSX?
Que yo sepa, fue eliminado en algún momento.
¿Puedo crear este nodo manualmente de alguna manera u otra forma de volcar la memoria física?
Ver:
Respuestas:
Según Accessing Kernel Memory en la versión x86 de Mac OS X , /dev/mem
y /dev/kmem
se eliminaron cuando Apple lanzó OS X para procesadores Intel.
El artículo (excelente) también explica cómo volver a habilitar los dispositivos de memoria , es decir, usar el kmem=1
argumento de arranque del kernel.
Tenga en cuenta que, como comenta neal a continuación , en macOS 10.15 Catalina (y probablemente desde macOS 10.12 Sierra), la configuración de NVRAM solo se puede cambiar cuando su Mac se inicia en modo de recuperación . Para ingresar al modo de recuperación , encienda su Mac e inmediatamente mantenga presionado ⌘-R hasta que aparezca el logotipo, inicie Terminal desde el menú Utilidades en la barra de menú, ejecute:
sudo nvram boot-args="kmem=1"
y reiniciar. Deberías ver estos dos dispositivos:
$ ls -l /dev/*mem
crw-r----- 1 root kmem 3, 1 2014-02-28 22:09 /dev/kmem
crw-r----- 1 root kmem 3, 0 2014-02-28 22:09 /dev/mem
(En versiones anteriores de macOS como OS X Mavericks 10.9.2, puede volver a habilitar los dispositivos de memoria dentro del sistema operativo, así que simplemente inicie Terminal, escriba el comando anterior y reinicie).
Si su Mac no arranca o tiene algún problema , restablezca la NVRAM presionando ⌘optionPRy manteniendo presionadas las teclas hasta que escuche el sonido de inicio por segunda vez, como se explica en "Restablecimiento de NVRAM / PRAM" en KB HT1379 Acerca de NVRAM y PRAM .
Si desea restablecer el argumento, escriba sudo nvram -d boot-args
y verifique que nvram -p | grep boot-args
no imprima ningún resultado.
¡Creo que lo hice funcionar en macOS Sierra! Descargué el proyecto de Comex :
Kmem Project.
¡Compilé el kext, arreglé los permisos y luego lo cargué! Usando la terminal entré /dev
y ls
mostré ambas mem
y kmem
...
Editar: si descarga el proyecto, solo tendrá que cambiar el compilador en Xcode para usar el último (por ejemplo ... No sé si otras versiones funcionan ...) Para un acceso rápido a los resultados que ya he hecho ¡un tenedor del proyecto de comex que se compila en macOS Sierra! Kmem para Sierra Fork
Nuevamente, este es el trabajo de Comex, no el mío, ¡acabo de cambiar la configuración del compilador y lo cargué! :)
/dev
... ¿quizás sabes si Apple cerró esta opción y si hay otra alternativa para acceder a esta memoria en 10.12?