Lilu 是一个开源内核扩展项目,为macOS系统中的kext、库和程序补丁提供了一个补丁平台。
Features
- Generic kext patcher
- Generic process patcher (64-bit with basic 32-bit functionality)
- Generic framework/library patcher (64-bit with basic 32-bit functionality)
- Provides a unified plugin API
Installation
You should install this kext along with the plugin kexts depending on it.
The prebuilt binaries are available on releases page.
Several existing plugins possibly with code samples are available on known plugins page.
To compile a plugin copy the debug version of Lilu.kext into its directory.
Configuration
- Add
-liludbg
to enable debug printing (available in DEBUG binaries). - Add
-liludbgall
to enable debug printing in Lilu and all loaded plugins (available in DEBUG binaries). - Add
-liluoff
to disable Lilu. - Add
-liluuseroff
to disable Lilu user patcher (for e.g. dyld_shared_cache manipulations). - Add
-liluslow
to enable legacy user patcher. - Add
-lilulowmem
to disable kernel unpack (disables Lilu in recovery mode). - Add
-lilubeta
to enable Lilu on unsupported OS versions (11.0 and below are enabled by default). - Add
-lilubetaall
to enable Lilu and all loaded plugins on unsupported os versions (use very carefully). - Add
-liluforce
to enable Lilu regardless of the mode, OS, installer, or recovery. - Add
liludelay=1000
to enable 1 second delay after each print for troubleshooting. - Add
lilucpu=N
to let Lilu and plugins assume Nth CPUInfo::CpuGeneration. - Add
liludump=N
to let Lilu DEBUG version dump log to/var/log/Lilu_VERSION_KERN_MAJOR.KERN_MINOR.txt
after N seconds
Peculiarities
Most of the plugins cease to function in safe (-x
) mode.
By default Lilu itself does not function in single-user (-s
) mode, unless -liluforce
is present.