Come accedere a / dev / mem in OSX?


Risposte:


12

Secondo Accesso alla memoria del kernel sulla versione x86 di Mac OS X , /dev/meme /dev/kmemsono stati rimossi quando Apple ha rilasciato OS X per processori Intel.

L'articolo (eccellente) spiega anche come riattivare i dispositivi di memoria , in particolare usando l' kmem=1argomento di avvio del kernel.

Nota che, come commentato di seguito da neal , in macOS 10.15 Catalina (e probabilmente da macOS 10.12 Sierra), le impostazioni NVRAM possono essere modificate solo quando il Mac viene avviato in modalità di ripristino . Per accedere alla modalità di ripristino , accendi il Mac e tieni immediatamente premuto -R finché non viene visualizzato il logo, avvia Terminal dal menu Utilità nella barra dei menu, esegui:

sudo nvram boot-args="kmem=1"

e riavviare. Dovresti vedere questi due dispositivi:

$ 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

(Nelle versioni precedenti di macOS come OS X Mavericks 10.9.2, è possibile riattivare i dispositivi di memoria all'interno del sistema operativo, quindi è sufficiente avviare Terminal, digitare il comando sopra e riavviare.)

Se il Mac non si avvia o si verificano problemi , ripristinare la NVRAM optionPRtenendo premuti i tasti finché non si sente il suono di avvio per la seconda volta, come spiegato in "Ripristino della NVRAM / PRAM" in KB HT1379 Informazioni su NVRAM e PRAM .

Se si desidera ripristinare l'argomento, digitare sudo nvram -d boot-argse verificare che nvram -p | grep boot-argsnon venga stampato alcun risultato.


1
Ho provato questo metodo in macOS Sierra, ma non ha fatto apparire i dispositivi sotto /dev... forse sai se Apple ha chiuso questa opzione e se esiste un'altra alternativa per accedere a questa memoria in 10.12?
Zohar81,

1
Ad un certo punto, le impostazioni di nvram possono essere modificate solo quando il Mac è stato avviato in modalità di ripristino. Quindi, se accendi il Mac e tieni immediatamente premuto Cmd-R fino a quando appare il logo, quindi passa a un Terminale dall'interfaccia utente dell'installazione di ripristino ed esegui il comando, dovrebbe funzionare. Questo ha funzionato per me su OS X Catalina ieri.
neal

4

Penso di averlo fatto funzionare su macOS Sierra! Ho scaricato il progetto di comex : Progetto Kmem Ho compilato il kext, riparato i permessi e poi caricato! Usando il terminale sono entrato /deve ho lsmostrato entrambi meme kmem...

Modifica: se scarichi il progetto dovrai solo cambiare il compilatore in Xcode per usare l'ultimo (per esempio ... Non so se altre versioni funzionano però ...) Per un rapido accesso ai risultati che ho già fatto un fork del progetto di comex che si compila su macOS Sierra! Kmem per Sierra Fork

Ancora una volta, questo è il lavoro di comex, non il mio, ho appena cambiato le impostazioni del compilatore e l'ho caricato! :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.