7

我有一个使用沙盒运行的应用程序。如何在没有沙盒的情况下运行它?假设我不能在关闭沙盒​​的情况下重新编译应用程序。

4

2 回答 2

10

这有效:

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

请注意“-s-”中的额外减号。

于 2012-02-22T06:04:19.120 回答
0

有很多方法在概念上都做同样的事情——做sandbox_init一个空操作。例如,您可以gdb为此使用,设置断点sandbox_init并立即从函数返回。或者您可以预加载一个包含空的库sandbox_initDYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES=foo.dylib其中foo.dylib仅包含int sandbox_init() { return 0; }.

请注意,沙盒是自愿的,如果您按照设计在沙盒之外运行应用程序,您会使您的系统更容易受到攻击。

于 2012-02-21T02:37:05.507 回答