{"id":13480570,"url":"https://github.com/acidanthera/Lilu","last_synced_at":"2025-03-27T11:30:36.870Z","repository":{"id":37678114,"uuid":"82815770","full_name":"acidanthera/Lilu","owner":"acidanthera","description":"Arbitrary kext and process patching on macOS","archived":false,"fork":false,"pushed_at":"2025-01-07T16:57:06.000Z","size":4527,"stargazers_count":3701,"open_issues_count":0,"forks_count":421,"subscribers_count":228,"default_branch":"master","last_synced_at":"2025-03-27T06:01:37.353Z","etag":null,"topics":["lilu"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/acidanthera.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-22T14:47:14.000Z","updated_at":"2025-03-27T00:30:29.000Z","dependencies_parsed_at":"2024-01-12T03:36:22.981Z","dependency_job_id":"e7d6209a-7069-42ea-8815-c2072b0cfea9","html_url":"https://github.com/acidanthera/Lilu","commit_stats":{"total_commits":553,"total_committers":28,"mean_commits":19.75,"dds":0.2839059674502713,"last_synced_commit":"337eeb52b3e67502e3202292eeb19c2faf871334"},"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidanthera%2FLilu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidanthera%2FLilu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidanthera%2FLilu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidanthera%2FLilu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/acidanthera","download_url":"https://codeload.github.com/acidanthera/Lilu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245835885,"owners_count":20680286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lilu"],"created_at":"2024-07-31T17:00:41.590Z","updated_at":"2025-03-27T11:30:36.856Z","avatar_url":"https://github.com/acidanthera.png","language":"C","funding_links":[],"categories":["C","\u003ca id=\"1d9dec1320a5d774dc8e0e7604edfcd3\"\u003e\u003c/a\u003e工具-新添加的"],"sub_categories":["\u003ca id=\"8f1b9c5c2737493524809684b934d49a\"\u003e\u003c/a\u003e文章\u0026\u0026视频"],"readme":"Lilu\n====\n\n[![Build Status](https://github.com/acidanthera/Lilu/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/acidanthera/Lilu/actions) [![Scan Status](https://scan.coverity.com/projects/16137/badge.svg?flat=1)](https://scan.coverity.com/projects/16137)\n\nAn open source kernel extension bringing a platform for arbitrary kext, library, and program patching throughout the system for macOS.\n\n#### Features\n- Generic kext patcher\n- Generic process patcher (64-bit with basic 32-bit functionality)\n- Generic framework/library patcher (64-bit with basic 32-bit functionality)\n- Provides a unified plugin API\n\n#### Installation\nYou should install this kext along with the plugin kexts depending on it.  \nThe prebuilt binaries are available on [releases](https://github.com/vit9696/Lilu/releases) page.  \nSeveral existing plugins possibly with code samples are available on [known plugins](https://github.com/vit9696/Lilu/blob/master/KnownPlugins.md) page.\nTo compile a plugin copy the debug version of Lilu.kext into its directory.\n\n#### Configuration\n- Add `-liludbg` to enable debug printing (available in DEBUG binaries).\n- Add `-liludbgall` to enable debug printing in Lilu and all loaded plugins (available in DEBUG binaries).\n- Add `-liluoff` to disable Lilu.\n- Add `-liluuseroff` to disable Lilu user patcher (for e.g. dyld_shared_cache manipulations).\n- Add `-liluslow` to enable legacy user patcher.\n- Add `-lilulowmem` to disable kernel unpack (disables Lilu in recovery mode).\n- Add `-lilubeta` to enable Lilu on unsupported OS versions (macOS 15 and below are enabled by default).\n- Add `-lilubetaall` to enable Lilu and all loaded plugins on unsupported os versions (use _very_ carefully).\n- Add `-liluforce` to enable Lilu regardless of the mode, OS, installer, or recovery.\n- Add `liludelay=1000` to enable 1 second delay after each print for troubleshooting.\n- Add `lilucpu=N` to let Lilu and plugins assume Nth CPUInfo::CpuGeneration.\n- Add `liludump=N` to let Lilu DEBUG version dump log to `/var/log/Lilu_VERSION_KERN_MAJOR.KERN_MINOR.txt` after N seconds\n\n#### Peculiarities\nMost of the plugins cease to function in safe (`-x`) mode.  \nBy default Lilu itself does not function in single-user (`-s`) mode, unless `-liluforce` is present.\n\n#### Discussion\n[InsanelyMac topic](http://www.insanelymac.com/forum/topic/321371-lilu-—-kext-and-process-patcher/) in English  \n[AppleLife topic](https://applelife.ru/threads/lilu-patcher-kekstov-i-processov.1964133/) in Russian\n\n#### Contribution\nFor the contributors with programming skills the headers are filled with AppleDOC comments.  \nEarlier code changes could be tracked in [AppleALC](https://github.com/vit9696/AppleALC) project.  \nWriting and supporting code is fun but it takes time. Please provide most descriptive bugreports or pull requests.\n\n#### Credits\n- [Apple](https://www.apple.com) for macOS  and [lzvn](https://github.com/lzfse/lzfse) decompression\n- [Brad Conte](https://github.com/B-Con) for [SHA-256 implementation](https://github.com/B-Con/crypto-algorithms)\n- [fG!](https://github.com/gdbinit) for [Onyx The Black Cat](https://github.com/gdbinit/onyx-the-black-cat) used as a base of the kernel patcher\n- [Nguyen Anh Quynh](https://github.com/aquynh) for [capstone](https://github.com/aquynh/capstone) disassembler module\n- [Pike R. Alpha](https://github.com/Piker-Alpha) for original [lzvn](https://github.com/Piker-Alpha/LZVN) decompression\n- [Ralph Hempel](https://github.com/rhempel) for [umm_malloc](https://github.com/rhempel/umm_malloc) static pool allocator\n- Vyacheslav Patkov for [hde64](https://github.com/mumble-voip/minhook/tree/7d80cff1de5c87b404e7ac451757bfa77e5e82da/src/hde) simple disassembler module\n- [07151129](https://github.com/07151129) for some code parts and suggestions\n- [vit9696](https://github.com/vit9696) for writing the software and maintaining it\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facidanthera%2FLilu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facidanthera%2FLilu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facidanthera%2FLilu/lists"}