亚洲精品欧美日韩-亚洲精品欧美一区二区三区-亚洲精品欧美综合-亚洲精品欧洲精品-亚洲精品欧洲一区二区三区

首頁
手機版
熱門搜索:
當前位置:電腦軟件系統工具手機工具riru-core模塊

riru-core模塊 最新版v26.1.5

  • 大小:161KB
  • 語言:簡體中文
  • 類別:手機工具
  • 類型:免費軟件
  • 授權:國產軟件
  • 時間:2022/03/01
  • 官網:http://www.taiyee.com.cn
  • 環境:Windows7, Windows10, WindowsAll

相關軟件

riru-core模塊是專為安卓系統打造的手機root模塊,原理是通過替換會被Zygote加載的libmemtrack.so從而實現Zygote注入,而安卓應用進程都是從Zygote fork的,注入了Zygote也就等同于注入了接下來會啟動的游戲,也就可以輕松實現修改了。然后hook掉Zygote.nativeForkAndSpecialize函數監聽app啟動。

riru-core模塊圖片1

軟件特色

構建

在 Android Studio 或命令行執行 gradle task :riru-core:assembleMagiskRelease,zip 會被存到 release。

檔案結構

riru模塊是magisk模塊(magisk模塊文檔)。

另外,當前唯一需要的文件(文件夾)是/data/adb/riru/modules/。riru將檢查它是否存在并加載/system/lib(64)/libriru_.so。

關于預制

該模板將prefab功能用于本地依賴項。預制支持是從agp4.0添加的,但只能在更高版本上正常使用。如果您不能或不愿意使用apg4.1,則可以注釋掉與預制件有關的零件build.gradle并riru.h從rikkaapps/riru中復制。

常見問題

為什么要做出 Riru 呢?

因為 libmemtrack.so 只有一個,如果有人想用替換 libmemtrack 的套路來做點什么別人就做不了。所以就制造了 Riru 來占下 libmemtrack 但是提供了模塊這樣的東西。

如何注入合子過程?

在v22.0之前,我們使用替換將由zygote加載的系統庫(libmemtrack)的方法。但是,這似乎會引起一些奇怪的問題。可能是因為libmemtrack被其他東西使用了。

然后,我們找到了一種超級簡單的方法,即“本地橋梁”(ro.dalvik.vm.native.bridge)。特定的“so”文件將由系統自動“dlopen-ed”和“dlclose-ed”。這是從這里來的。

她怎么工作呢?

簡而言之,替換一個會被 zygote 進程加載的共享庫。

首先要找到那個共享庫,而且那個共享庫要越簡單越好,所以就盯上了只有 10 個導出函數的 libmemtrack。 然后就可以自己提供一個叫 libmemtrack 并且也提供了原來的函數們的庫,這樣就可以進去 zygote 進程也不會發生爆炸。(然而現在看來選 libmemtrack 也不是很好)

接著如何知道自己已經在應用進程或者系統服務進程里面。 JNI 函數 (com.android.internal.os.Zygote#nativeForkAndSpecialize & com.android.internal.os.Zygote#nativeForkSystemServer) 會在應用進程或者系統服務進程被 fork 出來的時候被調用。 所以只要把這兩個函數換成自己的。這部分很簡單,只要 hook jniRegisterNativeMethods 因為所有 libandroid_runtime 里面的 JNI 方法都是通過這個注冊,然后就可以再調用 RegisterNatives 來替換它們。

標簽: xposed模塊

下載地址

riru-core模塊 最新版v26.1.5

普通下載通道

網友評論

返回頂部