软件 | riru-core模块 for Android v22.0-alpha04 最新安卓版 |
图标 | |
分类 | 安卓软件-系统工具 系统工具 |
语言 | 英文软件 |
大小 | 121KB |
软件类型 | 国外软件 |
发布时间 | |
用户评分 | 5 |
备案号 | |
官方网址 | |
软件授权 | |
操作系统 | 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。不要将上下文重置为其他内容。 |
截图 | |
随便看 |
|
网盟-旗舰软件下载站,将绿色免费商业版破解软件、共享软件、游戏、电影、电视剧一网打尽!