2012-02-20 3 views

답변

7

이 작동 :

$ ditto MySandboxedApp.app MySandboxedApp.backup.app 
$ codesign -f -s- MySandboxedApp.app 

참고 "-S-"의 추가 빼기.

+0

환상적인, 이것은 AppStore 애플 리케이션과 치료를 작동합니다. – Camsoft

0

모든 것이 개념적으로 똑같은 방법이 많이 있습니다. sandbox_init을 아무 것도하지 마십시오. 예를 들어 gdb을 사용하면 sandbox_init에 중단 점을 설정하고 즉시 함수에서 복귀 할 수 있습니다. 또는 빈 sandbox_init을 포함하는 라이브러리를 DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES=foo.dylib과 함께 미리로드 할 수 있습니다. 여기서 foo.dylib에는 int sandbox_init() { return 0; } 만 있습니다.

샌드 박스는 자발적으로 설계되었으며 샌드 박스 외부에서 앱을 실행하면 시스템이 취약 해지는 것에 유의하십시오.

+0

sandbox_init에 중단 점을 넣으려고했지만 충돌이 없었습니다. 생각? – Taylor

+0

OS X에서 사용하는 명시 적 샌드 박싱 ('man sandbox' 참조)에 대해 이야기하고 있었지만, 완전히 다른 사양의 샌드 박스 샌드 박스에 대해 이야기하고 있다고 가정합니다. –