Zygisk is a feature added in Magisk v24. It is similar to Riru in terms of end purpose but differs in details and implementation.
Zygisk has a DenyList function. After enabling Enforce DenyList option, Zygisk will not load Zygisk modules for the apps in the list. Note that the DenyList is not a hide feature, it can't even hide the presence of Zygisk itself.
The DenyList is an "out of reality" feature because people obviously want to use modules while maintaining hidden. Hidden modules are also required to not enable Enforce DenyList option, otherwise, hidden modules will not work because they will not be loaded.
In short, use the dedicated hiding module Shamiko to hide and never enable Enforce DenyList option.
Shamiko is a hidden module developed by others. It can hide Magisk SU, Zygisk itself and Zygisk modules.
Shamiko borrowed Magisk's DenyList. That is to say, Magisk's DenyList is Shamiko's exclusion list, but in order for Shamiko to take effect, you cannot turn on Magisk's Enforce DenyList option. It's a little confusing, but that's it.
_Currently, system apps (with uid%100000=1000) cannot be hidden even it's in the denylist. This issue comes from Magisk._
1. Zygisk and Riru are doing the same thing: inject into Zygote.
2. Zygisk and Riru are not complete alternatives to each other.
3. Once Zygisk is enabled from Magisk, Riru and its modules will NOT load anymore. You have to choose one but not both.
4. Magisk will remove Magisk Hide and Magisk Repo from the next release.
5. Zygisk has a denylist that revokes almost all changes made by Magisk (Note it's not doing the same thing as Magisk Hide, and it CAN NOT view as an alternative to Magisk Hide).
6. Revocation includes Zygisk modules. That means apps in the denylist will NOT load Zygisk modules.
7. Riru has a Riru Hide that avoids apps to detect it. However, Zygisk does not have the same stuff. Apps can thus discover Zygisk even if they are in the denylist.
- Install Shamiko and enable Zygisk and reboot
- Configure denylist to add processes for hiding
- *DO NOT* turn on denylist enforcement
- You can create an empty file `/data/adb/shamiko/whitelist` to turn on whitelist mode and it can be triggered without reboot
- Whitelist has significant performance and memory consumption issue, please use it only for testing
- Only apps that was previously granted root from Magisk can access root
- If you need to grant a new app root access, disable whitelist first