riru-core模块 for Android v22.0-alpha04 最新安卓版

如有版权及其他问题,请联系本站编辑处理
  • 大小:121KB
  • 更新:2020-11-17
  • 类型:国外软件
  • 类别:系统工具
  • 语言:英文软件
  • 环境:Windows平台
  • 官网:
  • 评分:
手机扫码下载

    情介绍

    Riru只做一件事,注入合子,以允许模块在应用程序或系统服务器中运行其代码。

    要求

    植根于Magisk v20.2 +的Android 6.0+设备

    Magisk v20.2是第一个从模块支持预初始化Sepolicy补丁的版本,这对于Riru是必需的。

    指南

    安装

    重要信息:在Magisk v21.1之前,您必须手动重启两次以进行首次安装。

    从Magisk Manager

    在Magisk Manager中搜索“ Riru”

    安装名为“ Riru”的模块

    Magisk版本要求由Magisk Manager强制执行。在发布Magisk v21.1时,要求是v20.4。

    手动地

    从下载zip(在百度晚网盘内)

    在Magisk Manager中安装(模块-从存储安装-选择下载的zip)

    设定档

    文件/data/adb/riru/disable存在时,Riru将不执行任何操作

    文件/data/adb/riru/enable_hide存在时,将启用隐藏机制(也需要模块的支持)

    Riru如何运作?

    如何注入合子过程?

    在v22.0之前,我们使用替换将由zygote加载的系统库(libmemtrack)的方法。但是,这似乎会引起一些奇怪的问题。可能是因为libmemtrack被其他东西使用了。

    然后,我们找到了一种超级简单的方法,即“本地桥梁”(ro.dalvik.vm.native.bridge)。特定的“ so”文件将由系统自动“ dlopen-ed”和“ dlclose-ed”。这是从这里来的。

    如何知道我们处于应用程序进程还是系统服务器进程?

    一些JNI函数(com.android.internal.os.Zygote#nativeForkAndSpecialize&com.android.internal.os.Zygote#nativeForkSystemServer)是用于派生应用程序进程或系统服务器进程的。因此,我们需要将这些功能替换为我们的功能。这部分很简单,jniRegisterNativeMethods因为所有Java本机方法libandroid_runtime.so都通过此函数注册,因此很容易上钩。然后,我们可以jniRegisterNativeMethods再次调用原始文件来替换它们。

    隐藏皮的工作原理?

    从v22.0开始,Riru提供了隐藏机制(Haruue Icymoon的想法),使Riru和模块的内存变为匿名内存以从“/proc/maps字符串扫描”中隐藏。

    建立

    重命名module.example.gradle为module.gradle

    替换中的模块信息module.gradle(所有行均以“替换为您”结尾)

    写你的代码

    :module:assembleRelease从Android Studio或命令行运行gradle task任务,zip文件将保存在中out。

    关于预制

    该模板将prefab功能用于本地依赖项。预制支持是从AGP 4.0添加的,但只能在更高版本上正常使用。如果您不能或不愿意使用APG 4.1,则可以注释掉与预制件有关的零件build.gradle并riru.h从RikkaApps / Riru中复制。

    档案结构

    Riru模块是Magisk模块(Magisk模块文档)。

    另外,当前唯一需要的文件(文件夹)是/data/adb/riru/modules/。Riru将检查它是否存在并加载/system/lib(64)/libriru_.so。

    更新说明

    v9,Riru v22.0

    API

    诸如此类的功能nativeForkAnd...不需要直接导出。唯一要导出的功能是void *init(void *)。有关更多信息,请参见init和模板的实现的注释。

    具有以下优点:

    模块可以支持不同的Riru版本

    Riru本身不会中继“ .prop”文件(不可靠)以获取模块信息

    里鲁

    从v22.0开始,Riru已切换到“本机桥”(ro.dalvik.vm.native.bridge)来注入合子,这将导致Riru和稍后加载模块(LoadNativeBridgevs __attribute__((constructor)))。

    对于大多数模块,这应该没有问题,但是诸如Xposed框架之类的模块可能必须进行更改。

    Magisk可能会在不久的将来提供类似Riru的功能,当然,它将具有更严格的限制,模块代码不会在合子中运行。也许Xposed框架模块应该为此做准备?

    Riru v22还提供了隐藏功能,以使模块的内存变为匿名内存(请参阅实现)。这是一种选择行为(module->supportHide),Riru本身也具有全局切换(/data/adb/riru/enable_hide)。

    模块安装程序

    RIRU_PATH已更改/data/adb/riru为隐藏目的。如果您还有其他文件/data/misc/riru,请将其移动到此处(或根据需要移动到其他位置)。

    请注意/data/adb/riru,它与其他Magisk文件(由Riru在fs-data中设置)具有相同的SELinux u:object_r:magisk_file:s0。不要将上下文重置为其他内容。

    载地址

    riru-core模块 for Android v22.0-alpha04 最新安卓版

        气软件

        关文章

        载声明

        ☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
        ☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
        ☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
        ☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
        ☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
        ☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
        ☉ 本站提供的riru-core模块 for Android v22.0-alpha04 最新安卓版资源来源互联网,版权归该下载资源的合法拥有者所有。

        X下载地址