Мы сталкиваемся с проблемами при загрузке расширений ядра в 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.
Заранее спасибо.