Lilu插件列表[持续更新]

16次阅读
没有评论

Lilu 插件列表[持续更新]

什么是 Lilu?

Lilu 是 vit9696 开发的一个内核扩展 (kext),可对 " 任意 " 内核扩展 (kext)/ 进程(process)/ 运行库(framework/library) 等 进行打补丁。(但其实某些比较底层的 kext 仍无法修改,如基本硬件驱动、底层重要依赖等)

Lilu 目前实现的功能?

为 kext 打补丁
为 进程 打补丁 (目前仅支持 64 位)
为 运行库 打补丁 (目前仅支持 64 位)
提供一套统一的 API 接口

如何理解“提供一套统一的 API 接口”?

这意味着 Lilu 自身是不起任何作用的,你需要额外使用依赖它的 kext,目前已知需要依赖 Lilu 的 kext 可在 下方 找到。

下载 / 安装

关于下载:

你可以直接下载作者编译好的版本,或者从 GitHub 下载源码自行编译。

关于安装:

  • 建议将 Lilu 以及依赖它的 kext 放置于引导器用于注入 kext 的位置并使用引导器注入它,目前主流的引导器都有注入 kext 的功能。
  • 如果将其放置于 /System/Library/Extensions 或者 /Library/Extensions 下的话,你还需要 LiluFriend 并正确配置使其正常工作。

Lilu 支持的内核参数(kernel flags)

-liludbg 可以开启排错日志模式,不过只有 DEBUG 版本才可用。(对于日常使用的 RELEASE 版本此参数无效)
-liluoff 会禁用 Lilu 和依赖它的 kext。(实际上只禁用了 Lilu,不过与之相关的 kext 也就自然会失效了)
-liluslow 会启用旧版的 UserPatcher。(可能与修改进程、运行库有关,具体的因为楼主对 Lilu 代码不是很熟悉,所以也就没法解释清楚了,抱歉)
-lilulowmem 会禁止 Lilu 和依赖它的 kext 在 Recovery 模式下载入。(实际上只禁用了 Lilu,不过与之相关的 kext 也就自然会失效了)
-lilubeta 会在不受支持的 Darwin 版本启用 Lilu。
-lilubetaall 启用 Lilu 和所有加载的插件不受支持的 os 版本(非常仔细地使用)
-liluforce 强制启用 Lilu 而不管 os,该参数适用于安装或恢复。

致开发者 / 有兴趣的朋友:

关于 Log 输出,目前 Lilu 提供的 API 中有两个输出 Log 的接口,分别为 SYSLOG(“msg/n”); 与 DBGLOG(“msg/n”); 这两个 macro,具体输出原理这里不做过多解释,仍是调用 Apple 在 IOLib.h 中为我们提供的 IOLog 接口。
但要特别注意的是,如上所说,DBGLOG(“msg/n”); 这个 macro 需要在 DEBUG 模式开启下才会被编译。
相信各位看这段代码即可了解。😉 (来自 Headers/kern_util.hpp)

1
2
3
4
5
6
7
8
9
10
11
#define SYSLOG(str, ...) IOLog(xStringify(PRODUCT_NAME) ":" str "/n", ## __VA_ARGS__)

#ifdef DEBUG
#define DBGLOG(str, ...) /
do { /
if (ADDPR(debugEnabled)) /
IOLog(xStringify(PRODUCT_NAME) ": (DEBUG)" str "/n", ## __VA_ARGS__); /
} while(0)
#else
#define DBGLOG(str, ...) do { } while(0)
#endif

另外,原宏中已经自带了换行符 /n,所以在编写 Log 时也就无必要再换行了。

Bug 反馈

建议在作者的 GitHub Issues 中提交,需使用英文。

Lilu 插件列表

此插件列表来自 Lilu 的 KnownPlugins.md。

目前已知需依赖 Lilu 的 kext & 作用简单说明
注:某些 kext 可能还没有列在这里,如果你有发现的话,可以跟帖反馈。

Name Short description
AirportBrcmFixup 修补 Broadcom Wi-Fi 综合问题
AppleALC 动态对系统注入必要的文件 / 打补丁以驱动声卡
AzulPatcher4600 一些针对某些笔记型 HD4600 的额外修复
CoreDisplayFixup 动态修改某些系统运行库 /kext 以解决非 Iris 系列 Intel 核显 / 部分 N 卡高分辨率输出问题
CPUFriend 动态向 X86 注入 CPU 电源管理数据
EnableLidWake 为某些 Intel 核显开启合盖睡眠
HibernationFixup 在某些机器上修复 3/25 模式下的休眠状态
IntelGraphicsFixup 修补 Intel 核显综合问题 (开机花屏,Haswell/Skylake 因 PAVP 导致的死机等等)
IntelGraphicsDVMTFixup 修正 Broadwell/Skylake 平台核显因 DVMT 不足而导致的死机
NightShiftUnlocker 解决老机型无法使用自 10.12.4 开始引入的 NightShift 功能
NvidiaGraphicsFixup 修正 N 卡 (可能也适用于 I 卡) 使用某些 SMBios 如 MacPro6,1 等引发黑屏的问题
Shiki 动态修改 iTunes 相关系统进程,以在 Ivy Bridge 或更新的平台上正确使用 iTunes 相关服务,同时其内置的 ResourceConverter 亦可配置一些自定义的针对其他 framework/lib/process 的补丁 (CoreDisplayFixup 的早期测试版本即基于 Shiki 编写)
WhateverGreen 修补 AMD 独显综合问题(单卡启动黑屏,唤醒黑屏 等等)

将功能合并到其他插件中的插件:

Name Short description
BrcmWLFixup 现已被 AirportBrcmFixup 取代。

原文链接:口袋妖怪 heart

扩展阅读:

AppleALC 支持的 Codecs 列表及 AppleALC 的使用

关于打赏

您的支持就是我更新的动力!
如果不希望看到博主停更的话,请点击下方的 打赏 支持一下,有钱的捧个钱场,没钱的捧个人场,谢谢大家!

正文完
 0
liveob
版权声明:本站原创文章,由 liveob 于2024-09-14发表,共计2433字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码