2013-08-13 2 views
0

Я пытаюсь разработать какое-то программное обеспечение, подобное самоконтролю (это чернила для определенных сайтов на определенное количество времени). Тем не менее, я хочу иметь возможность делать это с приложениями на OSX (например, человек должен был бы ответить на некоторые математические вопросы перед тем, как получить доступ к MineCraft App).Как сделать черный список определенных приложений в OSX программным?

Есть ли какой-то родительский контроль API в OSX SDK? Я знаком с некоторыми разработками ядра, но я просто ищу отправную точку, где искать.

+0

В названии говорится, что вы хотите использовать черный список приложений, пока вы говорите, что хотите использовать черный список веб-сайтов в своем приложении. –

+0

Нет, я приводил пример существующего приложения: самоконтроль предотвращает доступ к веб-сайтам, чтобы вы могли быть более продуктивными. То, что я хочу, - это способ применения черных списков в синонимом виде. – kmm2256

ответ

0

Системные настройки включают параметры родительского контроля. Найдите com.apple.familycontrols, чтобы узнать, как вы можете взаимодействовать с доступными настройками.

0

Я не верю, что есть API высокого уровня, который позволяет вам это делать.

Однако, как вы заявляете, что вы знакомы с развитием ядра, это путь, и на самом деле это так, как работают родительские контроля; с расширением ядра (kext).

This article объясняет около 4 областей интереса для авторизации в ядре. Вам нужно будет написать расширение ядра и контролировать область VNode, которая будет информировать ваш kext обо всем доступе vnode, вызвав функцию, определенную в вашем kext. Затем эта функция должна вернуть один из Accept, Deny или Defer. Если вы вызываете Deny на доступ к vNode, который выполняет операцию Execute, тогда он будет заблокирован.

Наконец, если вы собираетесь написать код ядра, я рекомендую вам получить копию this book, которая включает пример кода, основанного на мониторинге области vnode.

Смежные вопросы