在 Magisk 出现之前,Xposed 框架极大地塑造了与设备无关的 Android 改装方法。无需反编译应用程序、修改零碎、重新编译并将修改后的文件推送回我们的设备,我们可以在运行时使用 Xposed 和专用模块替换任何类中的任何方法。该框架本质上是在启动时加载附加 JAR 文件的修改,它允许开发人员挂钩到Zygote 进程并可以在其上下文中操作。/system/bin/app_process
由于 Magisk 提供了一种基于覆盖的修改机制(通常称为“无系统”),理论上可以创建一个 Magisk 模块来修补 Zygote 进程,而无需对app_process
可执行文件进行物理修改。这就是里鲁进来的地方。
什么是里鲁?
Riru由两个名为Rikka和yujincheng08的开发人员创建,是一个特制的Magisk 模块,无需安装旧式 Xposed 框架即可提供 Xposed 式的功能。它注入 Zygote 以允许其他模块在应用程序或系统服务器中运行它们的代码。
Riru 是如何工作的?
Riru 的初始实现依赖于替换名为libmemtrack
. 然而,该方法后来被放弃,取而代之的是一种称为“本地桥”的系统属性()。通过利用该属性,开发人员可以动态加载和卸载他们选择的共享库,最终导致注入到 Zygote 进程中。ro.dalvik.vm.native.bridge
如何下载和安装 Riru?
如前所述,Riru 可作为 Magisk 模块使用。由于 Magisk 应用程序不再附带内置模块浏览器,因此您需要直接从其 GitHub 存储库下载 Riru。
下载发布 ZIP 文件后,您可以使用 Magisk 应用程序安装它。
- 如果您在 PC 或 Mac 上下载,请将您的 Android 设备连接到它并将下载的 ZIP 文件复制到目标设备的内部存储器。
- 打开手机上的 Magisk 应用程序,然后使用底部导航菜单切换到模块选项卡。
- 点击名为 Install from storage的按钮。
- 浏览并选择您之前下载的模块 ZIP。
- Magisk 现在将安装该模块并提示您重新启动。
如果一切正常,您可以在重新启动后在 Magisk 应用程序的模块选项卡下看到 Riru。
我能用 Riru 做什么?
Riru 本身只是其他模块与 Zygote 进程挂钩的入口。因此,您需要通过 Magisk 应用程序安装与 Riru 兼容的模块,就像任何其他 Magisk 模块一样。成功安装后,Riru 模块将与 Magisk 应用程序中的 Magisk 模块一起列出。然后,您可以打开特定于模块的配置前端来修改其参数。对于没有接口的模块,您可以简单地继续使用您修改后的 Android 实例,Riru 将在后台处理所有事情。
Riru 和 Zygisk 有什么区别?
在较新版本的 Magisk 上,您可能会遇到由于 Zygisk 的存在而在安装后禁用 Riru 的情况。
这种冲突背后的原因很简单。Zygisk(例如 Zygote 中的 Magisk)是 Riru 的精神继承者。开发人员topjohnwu(即 Magisk 的创建者)和其他几位开发人员一直在研究的无系统界面的演变。由于 Riru 和 Zygisk 都针对 Android Zygote 进程,因此这两者不能同时存在。但是,您可以从 Magisk 的设置中禁用 Zygisk,重新启动设备,然后启用 Riru。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun157625.html