

苹果推出了一些新的安全机制,我们需要使渐进式运行。
确保您已将应用程序移至 /应用程序主管,否则系统扩展将无法加载。
对于第一次运行,将在单击“启动”按钮后提示您批准系统扩展。
注意:我注意到系统偏好不会显示允许按钮的问题。我认为这是苹果需要锻炼的一些内部问题。单击回到系统偏好并再次向前导航似乎可以解决该问题。


您将需要为系统扩展提供完整的磁盘访问。

Crescendo仅与> = 10.15.x和至少Xcode 10兼容。
该项目由三个主要组成部分组成:
强烈建议在禁用SIP的虚拟机中测试此代码,因为该项目需要启用SIP时端点安全,TCC和适当的签名。
csrutil disable
nvram boot-args="amfi_get_out_of_my_way=0x1"
OSSystemExtensionManager.shared.submitRequest时都会重新加载 systemextensionsctl developer on
如果您想签署自己的应用程序,强烈建议您阅读有关系统扩展要求和臭名昭著的文档。
签署和权利是一种非平凡的练习。
我在此版本中包括了我的.xproj文件,以使人们启动。将来,我可能会使用新的Xcconfig文件,因为这似乎更理智,而不是使用XPROJ文件。如果您想简单地构建示例CLI应用程序,则可以使用XCode进行。
为了构建此应用程序并将其运行在生产MacOS系统上,您将需要Apple的端点安全权和开发人员证书。
Crescendo框架可以轻松地与任何SWIFT应用程序捆绑在一起。将来我可能会搬到可可菌,但我现在不熟悉它们。
如果您希望看到添加或遇到问题的功能,请随时提出问题。如果您想提出拉动请求,请在贡献之前确保您在代码上运行Swiftlint。
我将删除编译 +签名的应用程序的版本,并根据需要将它们包含在“版本”选项卡中。
如果您在生产Mac上运行,则不应禁用SIP或AMFI。这些说明是针对希望更改代码的开发人员。
您是否通过单击System Preferences -> Security & Privacy ?如果没有,您将看不到任何事件。
您是否启用了System Preferences -> Security & Privacy -> Privacy Tab ?如果没有,您将看不到任何事件。
如果遇到任何问题,请打开Console.App并搜索crescendo或<your_bundle_id> / com.suprhackersteve作为过滤器,这应该有助于您解决任何潜在问题的故障排除。最好检查CrashReporter并查看扩展程序是否已崩溃或被fatalError退出。
如果您希望有力卸载系统扩展名,则有一个名为“卸载系统扩展”的菜单项将卸载它。此操作可能会导致奇怪的副作用,只有在您知道自己在做什么时才这样做。
如果您已在黑名单中添加了一个过程,并且仍然可以执行该过程,请记住检查真正的完整路径。简单地使用 /applications/foo.app,不足以防止执行。此外,许多MacOS应用程序都是通过XPCProxy启动的。