NeoZygisk

JingMatrix

Magisk KernelSU APatch
v2.4
Version
4.34 MB
Size
Aug 9, 2026
Updated

Module Info

  • Contributors JingMatrix, 5ec1cff, Howard20181, yujincheng08, Ylarod
  • Source Code View Repository
  • Tags
    #NeoZygisk #Zygisk #Zygote #ptrace #Magisk Module #KernelSU #APatch

About this module

NeoZygisk is a ptrace-based Zygote injection implementation that exposes the Zygisk API across supported Magisk, KernelSU, KernelSU Next, and APatch installations.

Independent Zygisk Runtime

A compact compatibility layer for Zygisk modules, with namespace handling and trace cleanup integrated into the runtime.

Zygisk API

Loads compatible Zygisk modules in app and system-server processes without depending on Magisk's built-in implementation.

Namespace Control

Separates ordinary rooted processes from denied applications and switches to a cached clean namespace when direct unmounting is unsafe.

Lifecycle Cleanup

Removes runtime traces after modules unload and centralizes mount cleanup for the current Zygote generation.

How It Operates

NeoZygisk starts a monitor that uses ptrace to attach to Zygote and establish the callbacks expected by Zygisk modules. On Magisk, it also coordinates the scripts of installed Zygisk modules. Its DenyList logic first attempts a direct unmount from the target Zygote; when safety checks reject that path, it uses setns to switch the process into a previously prepared clean mount namespace.

Version 2.4 Requirements

  • Android 8.0 or newer on ARM, ARM64, x86, or x86_64.
  • Magisk 26.4.2 or newer; disable built-in Zygisk.
  • KernelSU kernel code 10940 and manager daemon 11425 or newer.
  • APatch build 10762 or newer.

One root implementation only

The installer rejects mixed root environments. Remove inactive or residual root implementations before deployment, and use a root manager rather than recovery installation.

DenyList Configuration

On KernelSU and APatch, enable the manager option that unmounts modules for selected applications. On Magisk, configure the DenyList but leave Enforce DenyList disabled so it does not compete with NeoZygisk's namespace controller. Applications outside the list retain the normal root and module mount view.

DenyList handling reduces the mount exposure presented to selected processes; it is not a promise that every application will accept a modified device. Attestation, bootloader state, SELinux state, injected modules, and application-specific checks remain independent factors.

Version 2.4 Highlights

This release extends compatibility to Android 17, adds ARMv9 Branch Target Identification handling, improves nested-Zygote support, resolves emulator namespace and SELinux cases, adds guard pages, and moves mount unmounting into NeoZygisk itself. Choose the release archive for normal use; the substantially larger debug archive is intended for diagnostics.

Compatibility Caution

Zygote injection affects every Android application process. Do not run NeoZygisk alongside another active Zygisk implementation, and test third-party Zygisk modules individually after an Android or root-manager update. Keep a method to disable modules if the device cannot complete startup.