샌드 박싱을 사용하여 실행되는 앱이 있습니다. 샌드 박싱없이 어떻게 실행할 수 있습니까? 샌드 박스 기능을 해제 한 상태로 앱을 다시 컴파일 할 수 없다고 가정 해 보겠습니다.샌드 박스 처리없이 샌드 박스 OS X 앱을 실행하려면 어떻게해야합니까?
답변
이 작동 :
$ ditto MySandboxedApp.app MySandboxedApp.backup.app
$ codesign -f -s- MySandboxedApp.app
참고 "-S-"의 추가 빼기.
모든 것이 개념적으로 똑같은 방법이 많이 있습니다. sandbox_init
을 아무 것도하지 마십시오. 예를 들어 gdb
을 사용하면 sandbox_init
에 중단 점을 설정하고 즉시 함수에서 복귀 할 수 있습니다. 또는 빈 sandbox_init
을 포함하는 라이브러리를 DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES=foo.dylib
과 함께 미리로드 할 수 있습니다. 여기서 foo.dylib
에는 int sandbox_init() { return 0; }
만 있습니다.
샌드 박스는 자발적으로 설계되었으며 샌드 박스 외부에서 앱을 실행하면 시스템이 취약 해지는 것에 유의하십시오.
sandbox_init에 중단 점을 넣으려고했지만 충돌이 없었습니다. 생각? – Taylor
OS X에서 사용하는 명시 적 샌드 박싱 ('man sandbox' 참조)에 대해 이야기하고 있었지만, 완전히 다른 사양의 샌드 박스 샌드 박스에 대해 이야기하고 있다고 가정합니다. –
환상적인, 이것은 AppStore 애플 리케이션과 치료를 작동합니다. – Camsoft