古詩詞大全網 - 個性簽名 - Android和SuperSU的無系統root模式是什麽原理?

Android和SuperSU的無系統root模式是什麽原理?

其實最重要的是在/system/xbin下放壹個名為su的二進制,因為app要做需要root權限的操作時,代碼通常是“su -c xxxcmd”。這個蘇壹開始肯定是不存在的,所以現在的問題其實就是如何把這件事說過去。直接復制到系統分區會失敗,因為系統分區是只讀的,所以如果要把過去的東西放進去,必須重新掛載為可寫,但是重新掛載操作必須要有root權限,這樣看起來就形成了死循環。

破解的方法是先通過壹個漏洞給壹個進程權力root,然後有root權限的進程fork就會出來做類似重新掛載的事情或者啟動壹個腳本做類似的事情。比如某些linux內核或者驅動有UAF或者溢出漏洞,壹鍵root等軟件利用這些漏洞讓自己的代碼運行在內核態,然後把這個進程的uid gid改成0(這些都有內核態,用戶態不能直接改),那麽這個進程的權限就提到了root。

或者妳可以直接刷壹個zip包,裏面有引導分區和系統分區的內容,然後妳可以直接把su放在系統分區的文件夾裏然後打包刷,但是有的手機是有檢驗簽名的,所以刷包的時候不能刷。然後可以先改恢復再刷拉鏈。

錘子T1可以用這種類似的思路解決v2.0系統的根源問題。

1.下到1.4版本,利用kingroot利用漏洞獲取root權限,將su放在系統分區。

2.dd if=newrec.img of=recblock替換恢復。

3.刷機升級

4.在恢復中選擇getroot,恢復會把su放到系統分區中。

重啟

6.ddif = recbackup.imgof = recblock以還原恢復。