Bagaimana cara mengakses / dev / mem di OSX?


Jawaban:


12

Menurut Mengakses Memori Kernel pada Versi x86 Mac OS X , /dev/memdan /dev/kmemdihapus ketika Apple merilis OS X untuk prosesor Intel.

Artikel (luar biasa) juga menjelaskan cara mengaktifkan kembali perangkat memori , yaitu menggunakan kmem=1argumen boot kernel.

Perhatikan bahwa, seperti yang dikomentari di bawah ini oleh neal , di macOS 10.15 Catalina (dan mungkin sejak macOS 10.12 Sierra), pengaturan NVRAM hanya dapat diubah ketika Mac Anda boot ke mode pemulihan . Untuk masuk ke mode Recovery , nyalakan Mac Anda dan segera tahan -R sampai logo muncul, luncurkan Terminal dari menu Utilities di bilah menu, jalankan:

sudo nvram boot-args="kmem=1"

dan reboot. Anda harus melihat dua perangkat ini:

$ 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

(Dalam versi MacOS sebelumnya seperti OS X Mavericks 10.9.2, Anda dapat mengaktifkan kembali perangkat memori dalam sistem operasi, jadi cukup luncurkan Terminal, ketik perintah di atas dan reboot.)

Jika Mac Anda tidak mau boot atau Anda memiliki masalah , reset NVRAM dengan menekan optionPRdan menahan tombol-tombol sampai Anda mendengar suara startup untuk kedua kalinya, seperti yang dijelaskan dalam "Mengatur Ulang NVRAM / PRAM" di KB HT1379 Tentang NVRAM dan PRAM .

Jika Anda ingin mengatur ulang argumen, ketik sudo nvram -d boot-argsdan periksa yang nvram -p | grep boot-argstidak mencetak hasil apa pun.


1
Saya sudah mencoba metode ini di macOS Sierra, tetapi tidak membuat perangkat muncul di bawah /dev.. mungkin Anda tahu jika Apple menutup opsi ini, dan apakah ada alternatif lain untuk mengakses memori ini di 10.12?
Zohar81

1
Pada titik tertentu, pengaturan nvram hanya dapat diubah ketika Mac Anda di-boot ke mode pemulihan. Jadi jika Anda menyalakan Mac Anda, dan segera tahan Cmd-R hingga logo muncul, lalu lepaskan ke Terminal dari UI instalasi Pemulihan dan jalankan perintah, itu seharusnya berfungsi. Ini hanya bekerja untuk saya di OS X Catalina kemarin.
neal

4

Saya rasa saya bisa menggunakannya di macOS Sierra! Saya mengunduh proyek Comex : Proyek Kmem Saya mengkompilasi kext, memperbaiki izin dan kemudian memuatnya ! Menggunakan terminal saya pergi ke /devdan lsmenunjukkan keduanya memdan kmem...

Sunting: Jika Anda mengunduh proyek, Anda hanya perlu mengubah kompiler di Xcode untuk menggunakan yang terbaru (misalnya ... Saya tidak tahu apakah versi lain berfungsi ...) Untuk akses cepat ke hasil yang telah saya buat garpu proyek camex yang dikompilasi di macOS Sierra! Kmem untuk Sierra Fork

Sekali lagi, ini adalah karya Comex, bukan milikku, aku baru saja mengubah pengaturan kompilator dan mengunggahnya! :)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.