Jak mogę uzyskać dostęp do / dev / mem (lub / dev / kmem, / dev / pmap) równoważnego urządzenia w OSX?
O ile wiem, w pewnym momencie został usunięty.
Czy mogę ręcznie utworzyć ten węzeł lub w inny sposób zrzucić pamięć fizyczną?
Widzieć:
Jak mogę uzyskać dostęp do / dev / mem (lub / dev / kmem, / dev / pmap) równoważnego urządzenia w OSX?
O ile wiem, w pewnym momencie został usunięty.
Czy mogę ręcznie utworzyć ten węzeł lub w inny sposób zrzucić pamięć fizyczną?
Widzieć:
Odpowiedzi:
Według Uzyskiwanie dostępu Kernel pamięci na x86 wersja systemu Mac OS X , /dev/mema /dev/kmemzostały usunięte, gdy Apple wydało OS X dla procesorów Intel.
(Doskonały) artykuł wyjaśnia również, jak ponownie włączyć urządzenia pamięci , a mianowicie za pomocą kmem=1argumentu rozruchowego jądra.
Zauważ, że, jak skomentował poniżej neal , w macOS 10.15 Catalina (i prawdopodobnie od macOS 10.12 Sierra) ustawienia NVRAM można zmienić tylko wtedy, gdy Mac jest uruchamiany w trybie odzyskiwania . Aby przejść do trybu odzyskiwania, włącz komputer Mac i natychmiast przytrzymaj ⌘klawisz -R, aż pojawi się logo, uruchom Terminal z menu Narzędzia na pasku menu, uruchom:
sudo nvram boot-args="kmem=1"
i uruchom ponownie. Powinieneś zobaczyć te dwa urządzenia:
$ 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
(W poprzednich wersjach systemu macOS, takich jak OS X Mavericks 10.9.2, możesz ponownie włączyć urządzenia pamięci w systemie operacyjnym, więc po prostu uruchom Terminal, wpisz powyższe polecenie i uruchom ponownie.)
Jeśli komputer Mac nie uruchamia się lub występują problemy , zresetuj pamięć NVRAM, naciskając ⌘optionPRi przytrzymując klawisze, aż usłyszysz dźwięk uruchamiania po raz drugi, jak wyjaśniono w „Resetowanie pamięci NVRAM / PRAM” w KB HT1379 Informacje o pamięci NVRAM i PRAM .
Jeśli chcesz zresetować argument, wpisz sudo nvram -d boot-argsi sprawdź, nvram -p | grep boot-argsczy nie drukuje żadnych wyników.
Myślę, że mam go do pracy na macOS Sierra! Ściągnąłem projekt comex :
Projekt Kmem
Skompilowałem kext, poprawiłem uprawnienia i załadowałem go! Używając terminala wszedłem /devi lspokazałem oba memi kmem...
Edycja: Jeśli pobierzesz projekt, musisz tylko zmienić kompilator w Xcode, aby użyć najnowszego (na przykład ... Nie wiem, czy działają inne wersje ...) Aby uzyskać szybki dostęp do wyników, które już stworzyłem widelec projektu comex, który kompiluje się na macOS Sierra! Kmem dla Sierra Fork
Ponownie, to jest praca comex, nie moja, właśnie zmieniłem ustawienia kompilatora i przesłałem je! :)
/devto pojawienia się urządzeń pod ... może wiesz, czy Apple zamknął tę opcję i czy istnieje inna alternatywa dostępu do tej pamięci w 10.12?