目前ROOT成功率最高的软件是什么?
其实没有。每一种root都是为了机型单独定制的。所谓一键root就是把所有已经知道的方法抄在一起。当然随着系统的更新,这些抄来的方法也不会更新,不能保证安全。
root变砖,那是自己作的,活该。 下文讲解通用root方法。
1、什么叫root,以及root的最简形式。
所谓root,就是获得系统所有者的最高权限。root是系统启动时自带的权限,系统启动后一部分脚本就是使用root权限运行,后(根据安全设定)规定为root用户为停用。所以普通用户登录时需要通过su命令获取root权限。su命令没有任何特殊的部分,只是一段普通c语言程序去执行shell。
安卓获得root的最简形式就是执行su。su的属性为srwxr-xr-x,s属性表示任何人执行su命令都是以root用户身份执行。理所当然获得root权限。
2、怎么把su弄进去并且给到s属性。
有两种方法,一种是官方的方法:编译userdebug模式的安卓系统。通过adb root命令获取root。所以,其实华为、小米的开发人员不需要知道怎么root的。
所以硬要说root成功率高,adb算是每天几百次root。
另一种方法,就是刷机咯,喜闻乐见的坊间变砖手法。把内核导出,把那个su文件连同属性写进去,然后刷入主机。恭喜你,root成功。
3、越描越黑,道高一尺魔高一丈
所有的安卓产品,包括买到的华为、小米、vivo、oppo等,都是以user模式编译的安卓系统,系统默认不带有su命令。不但如此,还带有selinux特性。厂商将公钥写入手机,用私钥签名内核,手机启动时,会验证内核的签名,签名不对,挂。不但如此,selinux签名还影响内核模块,不符合签名无法加载,安全性杠杠的。更新时update.zip包也会有签名。
由于没有私钥,修改过的内核只能以未签名形式刷入,因此要求bootloader不验证签名。所谓的oem unlocker就是这步,各个厂商有各自的方法,比如三星就是装个app一路ok,索尼呢就是上网去兑换个id,华为我不知道,小米好像就是安卓默认开发菜单里点一下……等等。这步没有做,变砖没商量。
还有个问题是,怎么获得官方内核。这个部分也是八仙过海各显神通:有的手机设计有缺陷可以用dd命令在用户模式导出分区镜像,也有的手机更新包就是个zip文件解压就能搞定,或者有的厂商提供了恢复出厂专用的资料被维修中心泄露出来等等……
4、砖的问题
理论上安卓的设计不可能变砖,因为bootloader的存在,只要刷入正确签名的资料就可以恢复正常。
5、三星knox
三星是安卓全球累计销量最高的厂牌,说技术第一,不服的人大概会有不少。提出来讲一下三星的特别设计,别的手机可能也有。
三星snapdragon系列芯片(非猎户座)的手机,使用了高通的内置熔断机制。意思是说,只要尝试root被系统发现,高通芯片内的一个闪存就会写入一个不能改写的值,表示安全性已损失,knox再也不能启动了。三星支付、安全文件夹、三星各种认证都挂了,想恢复必须更换主板。
6、SafetyNet测试,或类似的root检测
root后大多数生物识别为认证的支付系统变得不太安全。google有专用的检测系统,支付宝和各大银行都有内建的检测防止破解手机扰乱认证系统。大部分Magisk都能帮你搞定,暂时发现有一款好像还是能识别到,这点似乎不应该公开。