An open source kernel extension bringing a platform for arbitrary kext, library, and program patching throughout the system for macOS.
- Generic kext patcher
- Generic process patcher (currently 64-bit only)
- Generic framework/library patcher (currently 64-bit only)
- Provides a unified plugin API
- Apple for macOS
- Onyx The Black Cat by fG! for the base of the kernel patcher
- capstone by Nguyen Anh Quynh for the disassembler module
- umm_malloc by Ralph Hempel for a static pool allocator
- Pike R. Alpha for lzvn decompression
- 07151129 for some code parts and suggestions
- vit9696 for writing the software and maintaining it
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.
Add -liludbg
to enable debug printing (available in DEBUG binaries).
Add -liluoff
to disable Lilu.
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 (10.13 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 os, installer, or recovery.
InsanelyMac topic in English
AppleLife topic in Russian
For the contributors with programming skills the headers are filled with AppleDOC comments.
Earlier code changes could be tracked in AppleALC project.
Writing and supporting code is fun but it takes time. Please provide most descriptive bugreports or pull requests.