使用SIP和10.15在legacyLoader中调试prefPane

时间:2019-11-28 19:42:29

标签: macos-catalina system-preferences

过去(10.11至10.14),要调试系统首选项窗格,可以制作一份系统偏好设置并对其自签名,然后将此副本用作调试目标。此方法绕过了系统完整性保护限制。

使用Catalina,现在所有第三方prefPanes都被加载到称为“ legacyLoader”的系统进程中。它位于:

/System/Library/Frameworks/PreferencePanes.framework/Versions/A/XPCServices/legacyLoader.xpc/Contents/MacOS/legacyLoader

不再可能对自定义的legacyLoader副本进行自签名。尽管您显然仍然可以制作副本并对其进行自签名,但是无法强迫系统偏好设置使用修改后的自签名副本,因为它将始终启动内置的Apple签名的legacyLoader。

在10.15上看到的调试prefPane的唯一方法是在系统范围内禁用SIP。不是一个很好的解决方案。

有人知道在不禁用SIP的情况下调试legacyLoader中的内容的方法吗?

我曾尝试创建自己的主机应用程序以在开发过程中加载prefPane,但遇到了一些错误,这些错误仅在系统偏好设置(legacyLoader)中运行时才会显示,而在我自己的主机中运行时不会显示。 / p>

我真的需要一种在真实环境中调试它们的方法,而没有禁用SIP所固有的安全风险。

0 个答案:

没有答案