有用户反馈安装 RC2 及之后的版本的 tombstone 发现了 init 崩溃问题(图1),但并非致命问题。经过调查,发现与 ZygiskNext 无关。
但这暴露出某些厂商的 init rc 存在问题。出现问题的 rc 是
总之这个崩溃是正常的,实际上不影响任何使用。
感谢钱钱 @qianqianzhuang 的调查😘
但这暴露出某些厂商的 init rc 存在问题。出现问题的 rc 是
/vendor/etc/init/hw/init.qcom.usb.rc
。该 rc 似乎忘记移除一个测试脚本(图2),由于正式构建根本不存在相关 sepolicy 和脚本文件,因此执行失败是必然的(图3,并非同一个 rc ,不过原因类似),而这个崩溃由于 sepolicy 的限制,本来不该被 dump 出来,但是 ZygiskNext 为了检查 init 的崩溃问题,修改 policy 允许 dump init ,因此这个崩溃就被记录下来了。总之这个崩溃是正常的,实际上不影响任何使用。
感谢钱钱 @qianqianzhuang 的调查
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Zygisk-Next-1.0-RC4-254-66a86a1-release.zip
1.6 MB
ZygiskNext 1.0-RC4
- 支持在 Magisk 模式下正确处理隔离进程的 flags ,这意味着 Magisk 中使用 ZygiskNext 时,Shamiko 的黑名单模式可以正常工作。
- 同时解决了 Magisk 模式下的性能问题。
- 由于实现依赖内部细节,不保证修改后的 Magisk 能正常工作。
- Added support for correctly handling isolation process flags in Magisk mode, which means that Shamiko's blacklist mode can function properly when using ZygiskNext in Magisk.
- Resolved performance issues in Magisk mode.
- Due to implementation relying on internal details, there is no guarantee that the modified Magisk will function properly.
- 支持在 Magisk 模式下正确处理隔离进程的 flags ,这意味着 Magisk 中使用 ZygiskNext 时,Shamiko 的黑名单模式可以正常工作。
- 同时解决了 Magisk 模式下的性能问题。
- 由于实现依赖内部细节,不保证修改后的 Magisk 能正常工作。
- Added support for correctly handling isolation process flags in Magisk mode, which means that Shamiko's blacklist mode can function properly when using ZygiskNext in Magisk.
- Resolved performance issues in Magisk mode.
- Due to implementation relying on internal details, there is no guarantee that the modified Magisk will function properly.
5ec1cff
Zygisk-Next-1.0-RC4-254-66a86a1-release.zip
相关阅读:https://www.tgoop.com/qianqianzhuang/17
该版本应该解决了上文提到的在 Magisk 上使用 ZygiskNext 大部分问题。
该版本应该解决了上文提到的在 Magisk 上使用 ZygiskNext 大部分问题。
Telegram
钱庄
最近收到一些报告,称 Shamiko 无法绕过中国农业银行等应用的检测。调查后发现,这些用户均是使用了 Magisk + ZygiskNext 的组合,且 Shamiko 等隐藏模块运行在黑名单模式。
阅读 ZygiskNext 源码[1][2]后发现,ZygiskNext 虽然支持读取 Magisk 排除列表,但实现方式仍然比较简单(简陋?),具体来说,有以下几个问题:
一是性能损耗。ZygiskNext 在判断进程是否被排除、是否具有 su 权限、是否为 Magisk 管理器等多个场景中,需要多次执行…
阅读 ZygiskNext 源码[1][2]后发现,ZygiskNext 虽然支持读取 Magisk 排除列表,但实现方式仍然比较简单(简陋?),具体来说,有以下几个问题:
一是性能损耗。ZygiskNext 在判断进程是否被排除、是否具有 su 权限、是否为 Magisk 管理器等多个场景中,需要多次执行…
ZygiskNext 用户运行环境调查 / Survey of the running environment of ZygiskNext users
Final Results
60%
KernelSU
10%
原版 Magisk / Official Magisk
18%
Magisk Alpha
7%
其他第三方 Magisk / Other 3rd party Magisk
18%
APatch (?)
7%
吃瓜 / Just see the result
Zygisk-Next-1.0-RC5-260-bcf0b43-release.zip
1.6 MB
ZygiskNext 1.0-RC5
- Magisk 模式下会挂载 zygisk 模块文件,有助于解决一些模块的兼容性问题
- Magisk 下如果启用自带 zygisk 则会提示错误
- KernelSU webui 微调,需要 11575+ manager
- The zygisk module file will be mounted in Magisk mode, which helps solve some module compatibility issues
- If you enable the built-in zygisk under Magisk, an error will be prompted.
- KernelSU webui fine-tuning, requires 11575+ manager
real5ec1cff
- Magisk 模式下会挂载 zygisk 模块文件,有助于解决一些模块的兼容性问题
- Magisk 下如果启用自带 zygisk 则会提示错误
- KernelSU webui 微调,需要 11575+ manager
- The zygisk module file will be mounted in Magisk mode, which helps solve some module compatibility issues
- If you enable the built-in zygisk under Magisk, an error will be prompted.
- KernelSU webui fine-tuning, requires 11575+ manager
real5ec1cff
Forwarded from 钱庄 (钱钱)
今天为了抓包,下载了 zygisk-cacerts 模块 [1]。该模块在 /system/etc/security/cacerts 路径挂载证书,同时通过 zygisk 注入相应应用,设定 system.certs.enabled prop 为 true,从在 Android 14 上允许应用使用来自 system 而非 apex 路径的证书 [2]。但在启用模块后,发现 HttpCanary 还是无法识别系统证书。经过调查,发现这是 Magisk + Zygisk Next 环境特有的问题。
Magisk 在收集模块时,若自带 Zygisk 处于未启用状态,则会忽略所有 Zygisk 模块(注意是全部忽略,包括文件挂载和脚本)[3]。在只存在 Magisk 一种 root 实现的时代,这种做法当然没有问题。但 KernelSU 登场之后,由于并没有自带 Zygisk,因此会忠实地加载全部模块。换句话说,对于同一个 Zygisk 模块,在 KernelSU 上,即使没有安装 Zygisk Next,无法实现注入,文件系统挂载和脚本也会被执行;而在 Magisk 上,若没有开启自带的 Zygisk,这个模块将会被直接忽略。
之前的 Zygisk Next 对 Magisk 这种未公开的行为专门做了兼容,会手动执行模块的所有脚本,但没有处理文件挂载(因为几乎所有常见 Zygisk 模块都不需要挂载文件)。直到今天发布的 1.0 RC5 版本,才通过硬链接模块文件到 Zygisk Next 目录的方式,变相实现了文件挂载。不过说到底,这还是用 hack 代替 hack,我认为最好的处理方式,是暴露一个 Zygisk 是否开启的 API,然后让模块自行处理 Zygisk 兼容性问题。
[1] https://github.com/vvb2060/zygisk_cacerts
[2] https://cs.android.com/android/_/android/platform/frameworks/base/+/86dc3f7afbc06ec63a41c592403721f9c66f85f4
[3] https://github.com/topjohnwu/Magisk/pull/4862/commits/d074dacff0d005a0e46c0d09106f595958b42a7a
Magisk 在收集模块时,若自带 Zygisk 处于未启用状态,则会忽略所有 Zygisk 模块(注意是全部忽略,包括文件挂载和脚本)[3]。在只存在 Magisk 一种 root 实现的时代,这种做法当然没有问题。但 KernelSU 登场之后,由于并没有自带 Zygisk,因此会忠实地加载全部模块。换句话说,对于同一个 Zygisk 模块,在 KernelSU 上,即使没有安装 Zygisk Next,无法实现注入,文件系统挂载和脚本也会被执行;而在 Magisk 上,若没有开启自带的 Zygisk,这个模块将会被直接忽略。
之前的 Zygisk Next 对 Magisk 这种未公开的行为专门做了兼容,会手动执行模块的所有脚本,但没有处理文件挂载(因为几乎所有常见 Zygisk 模块都不需要挂载文件)。直到今天发布的 1.0 RC5 版本,才通过硬链接模块文件到 Zygisk Next 目录的方式,变相实现了文件挂载。不过说到底,这还是用 hack 代替 hack,我认为最好的处理方式,是暴露一个 Zygisk 是否开启的 API,然后让模块自行处理 Zygisk 兼容性问题。
[1] https://github.com/vvb2060/zygisk_cacerts
[2] https://cs.android.com/android/_/android/platform/frameworks/base/+/86dc3f7afbc06ec63a41c592403721f9c66f85f4
[3] https://github.com/topjohnwu/Magisk/pull/4862/commits/d074dacff0d005a0e46c0d09106f595958b42a7a
GitHub
GitHub - vvb2060/zygisk_cacerts
Contribute to vvb2060/zygisk_cacerts development by creating an account on GitHub.
Zygisk-Next-1.0-271-2755a93-release.zip
1.6 MB
ZygiskNext 1.0 正式版
- 通过 hook init 进程监视 Zygote 启动
- 增强 Magisk 兼容性
- 支持 KernelSU WebUI (管理器需要正式版 0.9.0 / CI 11575 以上版本)
- 两个守护进程合并为一个
- 简化模块状态显示
- 自动支持某些 32 位转译层(如 tango)
ZygiskNext 1.0 Stable Release
- Monitor Zygote startup through hooking init process
- Enhanced Magisk compatibility
- Support KernelSU WebUI (Manager Release 0.9.0 / CI 11575 or above is required)
- Two daemons merged into one
- Simplified module status
- Automatic support for some 32-bit translation layers (such as tango)
real5ec1cff
- 通过 hook init 进程监视 Zygote 启动
- 增强 Magisk 兼容性
- 支持 KernelSU WebUI (管理器需要正式版 0.9.0 / CI 11575 以上版本)
- 两个守护进程合并为一个
- 简化模块状态显示
- 自动支持某些 32 位转译层(如 tango)
ZygiskNext 1.0 Stable Release
- Monitor Zygote startup through hooking init process
- Enhanced Magisk compatibility
- Support KernelSU WebUI (Manager Release 0.9.0 / CI 11575 or above is required)
- Two daemons merged into one
- Simplified module status
- Automatic support for some 32-bit translation layers (such as tango)
real5ec1cff
5ec1cff
Zygisk-Next-1.0-271-2755a93-release.zip
已解决
Zygisk-Next-1.0.1-277-b9b9601-release.zip
1.6 MB
ZygiskNext 1.0.1 正式版
- 修复了不该出现的「Module files corrupted」
ZygiskNext 1.0.1 Stable Release
- Fix unexpected "Module files corrupted".
real5ec1cff
- 修复了不该出现的「Module files corrupted」
ZygiskNext 1.0.1 Stable Release
- Fix unexpected "Module files corrupted".
real5ec1cff
Please open Telegram to view this post
VIEW IN TELEGRAM
Zygisk-Next-1.0.2-282-76fa553-release.zip
1.6 MB
ZygiskNext 1.0.2 正式版
- WebUI 跟随系统深色主题设置
- 卸载所有 ksu 挂载点
- 移除无用代码
ZygiskNext 1.0.2 Stable Release
- WebUI follows the system dark theme setting
- Unmount all ksu mount points
- Remove useless code
real5ec1cff
- WebUI 跟随系统深色主题设置
- 卸载所有 ksu 挂载点
- 移除无用代码
ZygiskNext 1.0.2 Stable Release
- WebUI follows the system dark theme setting
- Unmount all ksu mount points
- Remove useless code
real5ec1cff
5ec1cff
Zygisk-Next-1.0.2-282-76fa553-release.zip
5ec1cff
警告:请勿安装近期 ci 版本的 kernelsu 内核或 lkm ,因为存在严重问题(已经安装的请勿卸载管理器)
正式版 0.9.2 应该是正常的,问题可能发生在该提交后:https://github.com/tiann/KernelSU/commit/9a042110512ac026917f7bf3d9ee3b5b347ac00d
GitHub
kernel: Let the kernel choose who is qualified to be the manager. · tiann/KernelSU@9a04211
A Kernel based root solution for Android. Contribute to tiann/KernelSU development by creating an account on GitHub.