检测正在运行的应用程序是否被沙箱化

The*_*ght 5 c macos sandbox objective-c core-foundation

给定应用程序的 pid,是否有任何方法以编程方式检测该应用程序是否在 OSX 沙箱环境中运行?

理想情况下,我想知道某个地方是否有 API 调用,最好是用 C,而不是 Objective-C(对于守护进程,所以不使用 Cocoa),但如果没有,还有其他检查方法吗?

The*_*ght 4

@Linuxios 关于 CoreFoundation 调用的说法部分正确。事实上,有一些组合起来可以用来解决这个问题,它基于对SecStaticCodeCheckValidityWithErrors的调用

对于任何可能想要或需要以编程方式测试沙盒应用程序的人都可以关注此博客

另外,本文的完整代码已添加到 Github此处