- 軟件大?。?span>164KB
- 軟件語言:中文
- 軟件類型:國產(chǎn)軟件
- 軟件類別:免費軟件 / 常用工具
- 更新時間:2022-02-16 15:19
- 運行環(huán)境:Android
- 軟件等級:
- 軟件廠商:
- 官方網(wǎng)站:暫無
721KB/中文/10.0
1KB/中文/6.6
2KB/中文/5.0
2KB/中文/5.0
2KB/中文/5.0
riru-core模塊官方版是讓用戶可以制作出自己模塊,擁有了軟件以后用戶的手機將會更加的強大,讓用戶使用手機擁有更多的功能和權限,用戶可以輕松的獲得更加有趣的手機功能。
Riru 只做一件事,注入 zygote 以允許模塊在應用程序或系統(tǒng)服務器中運行它們的代碼。
Riru是Magisk的模塊,所以首先要安裝Magisk Manager,如果用戶沒有,小編這里為用戶提供了下載地址:http://m.aimjoke.net/soft/484716.html
Magisk Manager下載安裝以后,按照:模塊 - 從存儲安裝 - 選擇下載的zip的步驟就可以輕松安裝了。
為什么要做出 Riru 呢?
因為 libmemtrack.so 只有一個,如果有人想用替換 libmemtrack 的套路來做點什么別人就做不了。所以就制造了 Riru 來占下 libmemtrack 但是提供了模塊這樣的東西。
她怎么工作呢?
簡而言之,替換一個會被 zygote 進程加載的共享庫。
首先要找到那個共享庫,而且那個共享庫要越簡單越好,所以就盯上了只有 10 個導出函數(shù)的 libmemtrack。 然后就可以自己提供一個叫 libmemtrack 并且也提供了原來的函數(shù)們的庫,這樣就可以進去 zygote 進程也不會發(fā)生爆炸。(然而現(xiàn)在看來選 libmemtrack 也不是很好)
接著如何知道自己已經(jīng)在應用進程或者系統(tǒng)服務進程里面。 JNI 函數(shù) (com.android.internal.os.Zygote#nativeForkAndSpecialize & com.android.internal.os.Zygote#nativeForkSystemServer) 會在應用進程或者系統(tǒng)服務進程被 fork 出來的時候被調(diào)用。 所以只要把這兩個函數(shù)換成自己的。這部分很簡單,只要 hook jniRegisterNativeMethods 因為所有 libandroid_runtime 里面的 JNI 方法都是通過這個注冊,然后就可以再調(diào)用 RegisterNatives 來替換它們。
構建
在 Android Studio 或命令行執(zhí)行 gradle task :riru-core:assembleMagiskRelease,zip 會被存到 release。
Riru的原理是通過替換會被Zygote加載的libmemtrack.so從而實現(xiàn)Zygote注入,而安卓應用進程都是從Zygote fork的,注入了Zygote也就等同于注入了接下來會啟動的游戲,也就可以輕松實現(xiàn)修改了。然后hook掉Zygote.nativeForkAndSpecialize函數(shù)監(jiān)聽app啟動。
MD5:9ef34e9cb45ed3519bcf170ffed84cf3
請描述您所遇到的錯誤,我們將盡快予以修正,謝謝!
*必填項,請輸入內(nèi)容