Lilu插件列表[持續(xù)更新]

本文部分翻譯自 Lilu的README,一些部分基于樓主的理解寫(xiě)出。

什么是 Lilu ?

Lilu 是 vit9696 開(kāi)發(fā)的一個(gè)內(nèi)核擴(kuò)展 (kext),可對(duì)"任意" 內(nèi)核擴(kuò)展(kext)/進(jìn)程(process)/運(yùn)行庫(kù)(framework/library)等 進(jìn)行打補(bǔ)丁。(但其實(shí)某些比較底層的 kext 仍無(wú)法修改,如基本硬件驅(qū)動(dòng)、底層重要依賴(lài)等)

Lilu 目前實(shí)現(xiàn)的功能?

為 kext 打補(bǔ)丁
為 進(jìn)程 打補(bǔ)丁 (目前僅支持 64 位)
為 運(yùn)行庫(kù) 打補(bǔ)丁 (目前僅支持 64 位)
提供一套統(tǒng)一的 API 接口

如何理解 "提供一套統(tǒng)一的 API 接口"?

這意味著 Lilu 自身是不起任何作用的,你需要額外使用依賴(lài)它的 kext ,目前已知需要依賴(lài) Lilu 的 kext 可在 下方 找到。

下載/安裝

關(guān)于下載:

你可以直接下載作者編譯好的版本,或者從 GitHub 下載源碼自行編譯。

關(guān)于安裝:
  • 建議將 Lilu 以及依賴(lài)它的 kext 放置于引導(dǎo)器用于注入 kext 的位置并使用引導(dǎo)器注入它,目前主流的引導(dǎo)器都有注入 kext 的功能。
  • 如果將其放置于 /System/Library/Extensions 或者 /Library/Extensions 下的話,你還需要 LiluFriend 并正確配置使其正常工作。

Lilu 支持的內(nèi)核參數(shù)(kernel flags)

-liludbg 可以開(kāi)啟排錯(cuò)日志模式,不過(guò)只有 DEBUG 版本才可用。(對(duì)于日常使用的 RELEASE 版本此參數(shù)無(wú)效)
-liluoff 會(huì)禁用 Lilu 和依賴(lài)它的 kext 。(實(shí)際上只禁用了 Lilu ,不過(guò)與之相關(guān)的 kext 也就自然會(huì)失效了)
-liluslow 會(huì)啟用舊版的 UserPatcher 。(可能與修改進(jìn)程、運(yùn)行庫(kù)有關(guān),具體的因?yàn)闃侵鲗?duì) Lilu 代碼不是很熟悉,所以也就沒(méi)法解釋清楚了,抱歉)
-lilulowmem 會(huì)禁止 Lilu 和依賴(lài)它的 kext 在 Recovery 模式下載入。(實(shí)際上只禁用了 Lilu ,不過(guò)與之相關(guān)的 kext 也就自然會(huì)失效了)
-lilubeta 會(huì)在不受支持的 Darwin 版本啟用 Lilu 。

致開(kāi)發(fā)者/有興趣的朋友:

關(guān)于 Log 輸出,目前 Lilu 提供的 API 中有兩個(gè)輸出 Log 的接口,分別為 SYSLOG("msg\n"); 與 DBGLOG("msg\n"); 這兩個(gè) macro ,具體輸出原理這里不做過(guò)多解釋?zhuān)允钦{(diào)用 Apple 在 IOLib.h 中為我們提供的 IOLog 接口。
但要特別注意的是,如上所說(shuō),DBGLOG("msg\n"); 這個(gè) macro 需要在 DEBUG 模式開(kāi)啟下才會(huì)被編譯。
相信各位看這段代碼即可了解。;) (來(lái)自 Headers/kern_util.hpp)

#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

另外,原宏中已經(jīng)自帶了換行符 \n ,所以在編寫(xiě) Log 時(shí)也就無(wú)必要再換行了。

Bug 反饋

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

Lilu插件列表

此插件列表來(lái)自 Lilu 的 KnownPlugins.md 。

目前已知需依賴(lài) Lilu 的 kext & 作用簡(jiǎn)單說(shuō)明
注:某些 kext 可能還沒(méi)有列在這里,如果你有發(fā)現(xiàn)的話,可以跟帖反饋。

Name Short description
AirportBrcmFixup 修補(bǔ) Broadcom Wi-Fi 綜合問(wèn)題
AppleALC 動(dòng)態(tài)對(duì)系統(tǒng)注入必要的文件/打補(bǔ)丁以驅(qū)動(dòng)聲卡
AzulPatcher4600 一些針對(duì)某些筆記型 HD4600 的額外修復(fù)
CoreDisplayFixup 動(dòng)態(tài)修改某些系統(tǒng)運(yùn)行庫(kù)/kext 以解決非 Iris 系列 Intel 核顯/部分 N 卡高分辨率輸出問(wèn)題
CPUFriend 動(dòng)態(tài)向 X86 注入 CPU 電源管理數(shù)據(jù)
EnableLidWake 為某些 Intel 核顯開(kāi)啟合蓋睡眠
HibernationFixup 在某些機(jī)器上修復(fù) 3/25 模式下的休眠狀態(tài)
IntelGraphicsFixup 修補(bǔ) Intel 核顯綜合問(wèn)題 (開(kāi)機(jī)花屏,Haswell/Skylake 因 PAVP 導(dǎo)致的死機(jī)等等)
IntelGraphicsDVMTFixup 修正 Broadwell/Skylake 平臺(tái)核顯因 DVMT 不足而導(dǎo)致的死機(jī)
NightShiftUnlocker 解決老機(jī)型無(wú)法使用自 10.12.4 開(kāi)始引入的 NightShift 功能
NvidiaGraphicsFixup 修正 N 卡 (可能也適用于 I 卡) 使用某些 SMBios 如 MacPro6,1 等引發(fā)黑屏的問(wèn)題
Shiki 動(dòng)態(tài)修改 iTunes 相關(guān)系統(tǒng)進(jìn)程,以在 Ivy Bridge 或更新的平臺(tái)上正確使用 iTunes 相關(guān)服務(wù),同時(shí)其內(nèi)置的 ResourceConverter 亦可配置一些自定義的針對(duì)其他 framework/lib/process 的補(bǔ)丁 (CoreDisplayFixup 的早期測(cè)試版本即基于 Shiki 編寫(xiě))
WhateverGreen 修補(bǔ) AMD 獨(dú)顯綜合問(wèn)題 (單卡啟動(dòng)黑屏,喚醒黑屏 等等)

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

Name Short description
BrcmWLFixup 現(xiàn)已被 AirportBrcmFixup 取代。
原文鏈接:口袋妖怪heart

QQ群:

331686786 一起黑蘋(píng)果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評(píng)論 25 709
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • 如果你看完書(shū)中的所有例子,你很可能已經(jīng)做完你的實(shí)驗(yàn)和在已經(jīng)越獄的iPhone上的研究。因?yàn)楹驮S多人一樣,幾乎所有的...
    fishmai0閱讀 17,355評(píng)論 2 42
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實(shí)...
    香橙柚子閱讀 24,735評(píng)論 8 183
  • 1.什么是同源策略 所謂"同源"指的是"三個(gè)相同":(1)協(xié)議相同,(2)域名相同,(3)端口相同同源策略是瀏覽器...
    candy252324閱讀 464評(píng)論 0 1

友情鏈接更多精彩內(nèi)容