黑苹果SIP设置选项以及XtraFinder正常运行所需设置

黑苹果SIP设置

1
2
3
4
5
6
7
8
9
#define CSR_ALLOW_UNTRUSTED_KEXTS (1 << 0)
#define CSR_ALLOW_UNRESTRICTED_FS (1 << 1)
#define CSR_ALLOW_TASK_FOR_PID (1 << 2)
#define CSR_ALLOW_KERNEL_DEBUGGER (1 << 3)
#define CSR_ALLOW_APPLE_INTERNAL (1 << 4)
#define CSR_ALLOW_DESTRUCTIVE_DTRACE (1 << 5) /* name deprecated */
#define CSR_ALLOW_UNRESTRICTED_DTRACE (1 << 5)
#define CSR_ALLOW_UNRESTRICTED_NVRAM (1 << 6)
#define CSR_ALLOW_DEVICE_CONFIGURATION (1 << 7)

以上代码片段摘自Mac OS X的源码:csr.h

使用Clover引导的黑苹果,其Clover配置文件中的CsrActiveConfig一般设置为0x13,其SIP状态为:

1
2
3
4
5
6
7
8
9
System Integrity Protection status: enabled (Custom Configuration).
Configuration:
Apple Internal: disabled
Kext Signing: disabled
Filesystem Protections: disabled
Debugging Restrictions: enabled
DTrace Restrictions: enabled
NVRAM Protections: enabled

之所以这样设置是为了加载一些驱动,以保证黑苹果正常启动。
0x13的二进制代码为00010011,结合上面的源码可以看到设置0x13正是关闭了Apple InternalKext SigningFilesystem Protections三项。

XtraFinder设置

对于白苹果用户,要在10.11下使用XtraFinder,需要在Recover OS中执行csrutil enable --without debug以关闭SIP中的Debugging Restrictions,然后重启即可。
但是对于黑苹果用户,该方法不可行,由于Clover引导而无法使Recovery OS中的设置生效。黑苹果需要用Clover对SIP进行设置。结合源码可知,需要将Clover配置文件中的CsrActiveConfig设置为0x17,方可顺利运行。