2013-08-13 7 views
0

나는 selfcontrol과 비슷한 소프트웨어를 개발하려고한다. (일정 시간 동안 특정 웹 사이트를 블랙리스트에 올린다.) 그러나 OSX의 응용 프로그램에서이 작업을 수행 할 수 있기를 원합니다 (예 : MineCraft 응용 프로그램에 액세스하기 전에 일부 수학 질문에 답해야합니다).OSX에서 특정 프로그램을 프로그래밍 방식으로 블랙리스트에 등록하려면 어떻게해야합니까?

OSX SDK에 부모 제어 API가 있습니까? 나는 커널 개발에 익숙하지만, 어디서 볼지를 찾고있다.

+0

제목에 응용 프로그램을 사용하여 웹 사이트를 블랙리스트에 올리겠다고 말하면서 응용 프로그램을 블랙리스트에 추가하려고합니다. –

+0

아니요, 기존 응용 프로그램의 예를 보여주었습니다. 자체 제어로 인해 웹 사이트에 액세스하지 못하게되어 더 생산적 일 수 있습니다. 내가 원했던 것은 동의어 방식으로 응용 프로그램을 블랙리스트에 올리는 방법입니다. – kmm2256

답변

0

시스템 환경 설정에는 자녀 보호 옵션이 포함됩니다. com.apple.familycontrols을 검색하여 사용 가능한 설정과 상호 작용할 수있는 옵션을 찾으십시오.

0

내가 할 수있는 높은 수준의 API가 있다고 생각하지 않습니다.

그러나 여러분이 커널 개발에 익숙하다는 것을 말씀 드리 자면, 그것은 갈 길이고 실제로 부모 제어가 어떻게 작동하는지입니다. 커널 확장 (kext).

This article은 커널에서 권한 부여에 대한 4 가지 관심 영역을 설명합니다. 커널 확장을 작성하고 VNode 범위를 모니터링해야합니다. 그러면 kext에 정의 된 함수를 호출하여 모든 vnode 액세스를 kext에 알립니다. 이 함수는 Accept, Deny 또는 Defer 중 하나를 반환해야합니다. Execute 조작을 수행중인 vNode에 액세스 할 때 Deny를 호출하면 해당 노드가 차단됩니다.

마지막으로 커널 코드를 작성하려면 this book 복사본을 얻는 것이 좋습니다. 여기에는 vnode 범위 모니터링을 기반으로하는 예제 코드가 포함되어 있습니다.