Overview
Developed by PerformanC, ReZygisk is a clean, open-source, standalone implementation of the Zygisk API specification.
While Magisk incorporates its own proprietary Zygisk implementation directly into magiskd, modern alternatives like KernelSU and APatch adhere to a minimalist kernel-space design philosophy. To run the vast ecosystem of modules that depend on Zygisk hooks (such as Vector/Xposed, PlayIntegrityFork, and audio enhancers), KernelSU requires an external Zygote injection engine. ReZygisk fulfills this requirement with a clean, performant architecture.
Technical Architecture & How It Works
Zygote Ptrace & Loader Injection
- Daemon Initialization: At boot time, ReZygisk starts a background monitoring daemon that watches for the initialization of Android’s 32-bit and 64-bit Zygote processes (
app_process32andapp_process64). - Ptrace Hijack: During the early initialization of the Zygote process (before the first application is forked), ReZygisk uses ptrace to inject its native loader library (
librezygisk.so). - API Implementation: ReZygisk registers the full official Zygisk API functions:
preAppSpecialize: Executed before app privileges are dropped to standard sandbox UID.postAppSpecialize: Executed after sandbox privileges are active.- Companion process IPC channels.
- Module Dispatch: Whenever any app process is spawned, ReZygisk checks
/data/adb/modules/for active Zygisk modules and loads their native.sopayloads directly into the target process.
Installation & Setup
- Open KernelSU or APatch.
- Download the latest
ReZygisk-vX.zipfrom releases. - Flash the package via the Modules tab.
- Reboot your phone.
- In your module list, ReZygisk will show as active. You can now flash any standard Zygisk module (like PlayIntegrityFork or Vector) and they will function seamlessly.
Frequently Asked Questions
Why do I need ReZygisk if I already use KernelSU?
KernelSU operates purely at the Linux kernel level and does not natively inject code into Android's userspace Zygote process. Many of the most popular root modules (such as Shamiko, PlayIntegrityFork, and Vector) require Zygisk to intercept app processes. ReZygisk provides that Zygote bridge.
Can I use ReZygisk on Magisk?
You can, but you must first turn OFF Magisk's built-in Zygisk toggle in Magisk settings to prevent symbol collisions and process crashing.
