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