2016-02-07 13 views
1

В качестве части эксперимента мне нужно сделать страницу только для чтения, доступную для записи в адресном пространстве ядра из не-IOKit kext. В пользовательском режиме я могу сделать vm_protect, но есть удивительно мало информации о том, как это можно сделать в режиме ядра (или я полностью слеп). Есть ли призыв сделать это?Изменение атрибутов защиты страницы vm от драйвера ядра XNU

+0

Привет, мне кажется, вам удастся решить эту проблему в конце концов, я в настоящее время пытаюсь освободить память после того, как измените ее права на защиту с помощью 'vm_protect' и получите неясную панику. возможно, вы столкнулись с такой проблемой? –

ответ

0

В ядре он объявлен в <mach/vm_map.h> и является частью «неподдерживаемого» KPI. (Добавьте com.apple.kpi.unsupported в OSBundleRequired вашего info.plist kext) Я, к сожалению, ранее не использовал эту функцию из ядра, поэтому я не могу комментировать это. vm_map_t, по-видимому, является ссылкой на порт Маха, но я не уверен, откуда вы его получите.