破掉的辦法是先通過漏洞把某個進程提權到root,然後root權限的進程fork壹個出來做remount之類的事或者啟動壹個腳本做類似的事情。比如有些linux kernel或者驅動存在UAF或者overflow的洞,壹鍵root等軟件利用這些漏洞讓自己的代碼運行在內核態,然後把這個進程的uid gid等等改成0(這些存在內核態,用戶態沒法直接改),那這個進程的權限就被提到root了。
或者是直接刷個zip包,這個zip包括boot分區,system分區的內容,然後可以把su直接放在system分區文件夾裏再打包刷機即可,不過有的手機有檢驗簽名,那打了包刷機的時候刷不上去。那就可以先換個recovery再刷zip。
錘子T1可以用這種類似的思路解決v2.0系統root
1.降到1.4版本,用kingroot利用漏洞得到root權限,system分區放上su
2.dd if=newrec.img of=recblock換掉recovery
3.刷機升級
4.選recovery裏的getroot,recovery會把su等放到system分區
5.重啟
6.dd if=recbackup.img of=recblock恢復recovery