2012-02-20 29 views

cevap

7

Bu çalışır:

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

Not "-s-" ekstra eksi.

+0

Fantastik, bu AppStore uygulamaları ile bir muamele çalışır. – Camsoft

0

Tümünün kavramsal olarak aynı şeyi yapmasının birçok yolu vardır - sandbox_init'u no-op yapın. Örneğin, bunun için gdb kullanabilir, sandbox_init üzerinde kesme noktası ayarlayabilir ve işlevden hemen dönebilirsiniz. Ya da, boş bir içeren bir kitaplığı önyükleyebilirsiniz, burada foo.dylib yalnızca int sandbox_init() { return 0; } içerir.

Korumalı alanların isteğe bağlı olduğunu ve tasarlandığınız şekilde sanal alanın dışında bir uygulama çalıştırırsanız, sisteminizi daha savunmasız bıraktığınızı unutmayın.

+0

Sandbox_init üzerinde bir kesme noktası koymaya çalıştım ve vurulmadı. Düşünceler? – Taylor

+0

Sanırım o zaman farklı şeyler hakkında konuşuyoruz - OS X tarafından kullanılan açık kum havuzu (bkz. "Adam sandbox") hakkında konuşuyordum, ama sanırım tamamen farklı bir spesifikasyon olan uygulama deposu korumasından bahsediyorsunuz. –