NeoZygisk is a Zygote injection module implemented using ptrace
, which provides Zygisk API support for KernelSU and serves as a replacement of Magisk's built-in Zygisk.
- No multiple root implementation installed
- Minimal KernelSU version: 10940
- Minimal KernelSU Manager (ksud) version: 11424
- Kernel has full SELinux patch support
- Minimal version: 26402
- Built-in Zygisk turned off
- NeoZygisk always synchronises with the Magisk built-in Zygisk API design, which are copied into the source folder injector.
- NeoZygisk aims to provide a minimalist implementation of Zygisk API; unnecessary features are thus not considered.
- NeoZygisk guarantees to clean its injection trace inside applications processes once all Zygisk modules are unloaded.
- NeoZygisk helps to hide the traces of root solutions through its design of DenyList, as explained below.
Current root solutions of Android are implemented in a systmeless way, meaning that they overlay the filesystems of the device by mounting instead of overwriting the actual file contents. DenyList
is designed to help the mounting trace hiding, which provides the following controls over how mount namespaces are defined for app processes.
- For applications granted with root privilege, both root solutions mount points and modules mount points are present in their mount namespaces.
- For applications without root privilege and not on the DenyList, only modules mount points are present in their mount namespaces. As an example, this is the ideal configuration for applying font customization modules to their target applications.
- For applications on the DenyList, their root privilege will be dropped even granted intentionally. A clean mount namespace will be provided for them to hide the traces of root solutions.
The DenyList implementation of NeoZygisk is still working in process, please stay tuned.