簡體   English   中英

如何以編程方式將OSX中的某些應用程序列入黑名單?

[英]How do I blacklist certain applications in OSX programmatically?

我正在嘗試開發一些類似於自我控制的軟件(它將某些網站列入特定時間的黑名單)。 但是,我希望能夠使用OSX上的應用程序執行此操作(例如,一個人在訪問MineCraft應用程序之前必須回答一些數學問題)。

OSX SDK中是否有某種家長控制API? 我熟悉一些內核開發,但是我只是在尋找尋找起點。

系統偏好設置確實包括家長控制選項。 搜索com.apple.familycontrols以找到有關如何與可用設置進行交互的選項。

我不相信有任何高級API允許您執行此操作。

但是,正如您所言,您對內核開發很熟悉,這就是要走的路,而且確實是父母控制的工作方式。 帶有內核擴展(kext)。

本文介紹了內核中4個感興趣的授權范圍。 您將需要編寫內核擴展並監視VNode范圍,這將通過調用kext中定義的函數來通知kext所有vnode訪問。 然后,此函數必須返回“接受”,“拒絕”或“推遲”之一。 如果在訪問執行執行操作的vNode時調用“拒絕”,則它將被阻止。

最后,如果您要編寫任何內核代碼,那么我建議您獲得本書的副本,其中包括基於監控vnode范圍的示例代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM