在远古时代(特别是 Android 6.0 以前),各种一键 root 满天飞,比如 kingroot ,360 一键 root ,他们本质上都是通过系统漏洞来获取特殊权限,root 方案基本上是通过 SUID 实现的。 SUID 是一个特殊的权限位,它的特殊之处在于,如果某个可执行文件设置了这个权限位,某个用户在执行这个文件的之后,启动进程的 uid 会被自动切换为文件所有者的 uid 。用这种方式实现 root 可谓是非常简单,只需要丢一个 SUID 的文件到系统里面就结束了。 后来安卓更新让这种机制退出了历史舞台,让 App 从此与 SUID root 告别了。 目前的 ROOT 通常都是使用 Magisk 实现的。