Как получить доступ к /dev /mem в OSX?

Как я могу получить доступ к эквивалентному устройству /dev /mem (или /dev /kmem, /dev /pmap) в OSX?

Насколько я знаю, он был удален в какой-то момент.

Могу ли я создать этот узел вручную каким-либо образом или любым другим способом сброса физической памяти?

См:

11 голосов | спросил kenorb 18 WedEurope/Moscow2013-12-18T21:02:51+04:00Europe/Moscow12bEurope/MoscowWed, 18 Dec 2013 21:02:51 +0400 2013, 21:02:51

2 ответа


10

Согласно Доступ к памяти ядра в версии x86 для Mac OS X , /dev/mem и /dev/kmem были удалены, когда Apple выпустила OS X для процессоров Intel.

В статье (отлично) также объясняется, как обновлять устройства памяти , а именно с помощью ядра kmem=1 загрузочный аргумент.

Чтобы установить его, откройте терминал, введите:

sudo nvram boot-args="kmem=1"

и перезагрузитесь.

Статья была написана в мае 2006 года, но ядро ​​Mavericks 10.9.2 по-прежнему поддерживает эту опцию. После перезагрузки я увидел эти два устройства:

$ 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

Если ваш Mac не загрузится или у вас возникнут проблемы , перезагрузите NVRAM, нажав P R и удерживая клавиши до тех пор, пока вы не услышите звук запуска во второй раз, как описано в разделе «Сброс NVRAM /PRAM» в KB HT1379 О NVRAM и PRAM .

Если вы хотите сбросить аргумент, введите sudo nvram -d boot-args и проверьте, что nvram -p | grep boot-args не выводит никаких результатов.

ответил jaume 1 MaramSat, 01 Mar 2014 01:48:35 +04002014-03-01T01:48:35+04:0001 2014, 01:48:35
4

Думаю, я получил его для работы на macOS Sierra! Я загрузил проект comex: Kmem Project Я скомпилировал kext, исправил разрешения и затем загрузил их! Используя терминал, я перешел в /dev и ls показал как mem и kmem ...

Изменить: если вы загружаете проект, вам просто нужно будет сменить компилятор в Xcode, чтобы использовать последние (например ... я не знаю, работают ли другие версии ...) Для быстрого доступа к результатам I уже сделали вилку проекта comex, которая компилируется на macOS Sierra! Kmem для Sierra Fork

Опять же, это работа comex, а не моя, я просто изменил настройку компилятора и загрузил ее! :)

ответил Nickolas Pylarinos 30 J000000Sunday17 2017, 17:40:35

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132