Невозможно загрузить KEXT в macOS 10.13.6 и более поздних версиях. - PullRequest
2 голосов
/ 04 июля 2019

Мы сталкиваемся с проблемами при загрузке расширений ядра в macOS 10.13.6 и более поздних версиях (в том числе в macOS 10.14.6 beta).У нас есть KAUTH kext, мы копируем его в "/ Library / Extensions /" и вызываем KextManagerLoadKextWithURL () API.

В Системных настройках мы нажимаем кнопку Разрешить длязагрузка KEXT.

После выполнения этих действий KEXT не загружается.Таким образом, мы проанализировали больше и обнаружили ниже наблюдения.

1) Запись KEXT присутствует в "/ Library / Extensions" & "/ Library / StagedExtensions /"

2) Читаем / private / var / db / SystemPolicyConfiguration / KextPolicy .База данных KextPolicy содержит: XXXXXXXXXX | com.company.driver.kauthkext | 1 | Company (P) Ltd. | 5 Начиная с пункта 2 у нас есть убедительные доказательства того, что KEXT разрешено загружать.

Итак, мы проанализировали больше и обнаружили разницу ниже.Здесь System1 может загружать kext и System2 не может загружать kext.

System1 : (повышено с более низкой ОС до более высокой ОС)

System1:~ user$ ls -laO /Library/StagedExtensions/
total 0
drwxr-xr-x@  3 root  wheel  restricted   96 Jun 27 15:15 .
drwxr-xr-x+ 62 root  wheel  sunlnk     1984 Jul  3 12:24 ..
drwxr-xr-x   4 root  wheel  restricted  128 Jul  4 16:15 Library

System2 : (Свежее оборудование с предустановленной ОС 10.13.6)

System2:~ user $ ls -laO /Library/StagedExtensions/
total 0
drwxr-xr-x@  3 root  wheel  -   96 Jun 27 15:15 .
drwxr-xr-x+ 62 root  wheel  sunlnk     1984 Jul  3 12:24 ..
drwxr-xr-x   4 root  wheel  -  128 Jul  4 16:15 Library

Каким-то образом «ограниченный» флаг играет роль для манипуляцииЗагрузка KEXT.

Примечание. Мы не добавили никаких флагов в каталог "/ Library / StagedExtensions" .SIP (защита целостности системы) включена на обеих машинах

Пожалуйста, сообщите нам, почему KEXT не загружается в System2.

Заранее спасибо.

...