浅谈Android获取Root权限原理

Android内核也是Linux,所以Android可以看作是Linux的一个分支,如果你使用过终端模拟器之类的软件的话,会发现Android下可以执行很多Linux命令,其系统结构也和Linux很像,本文会浅显的分析一下Android系统默认为什么没有Root权限以及获取Root权限的原理。 如果稍微了解一下Linux,就会知道Linux中有个用户叫Root,这个用户很特别,其拥有整个系统的最高权限,可以做到很多其他用户无法做到的事情,当然也包括杀死整个操作系统,比如rm -rf /。我们刚才说了,Android可以看做是Linux的一个分支,在Android系统中也存在Root这个用户,如果我们拥有了Root权限,就可以对手机做任何事情,但是大部分用户毕竟不是专业用户,如果拥有Root权限可能会造成很多麻烦,而且如果开放了Root权限,一些手机病毒可能会造成更大的损坏,基于这两点,很多手机厂商都封锁了Root。 但是对于一些经常玩机的同学来说,没有Root权限是个很痛苦的事情,很多事情做不了,比如修改游戏存档,所以我们会对手机进行Root,这个所谓的Root就是获取Android的Root权限,那么那些厂商是如何封锁Root权限呢? 在Linux中,/bin目录下有个su文件,这是一个编译过的二进制文件,如果没有这个文件,就无法获取Root权限,在Android中有两个地方存在这个二进制文件,/system/bin和/system/xbin目录,其中一个是软链接,手机厂商基本上都是用删除su文件这个方法进行Root封锁的。 反过来,我们要获取Root权限,就要重新添加su文件至这个目录并给予其4755权限,改变所有者为Root,就可以获取Root权限,一般在获取Root权限后我们还要安装一个Superuser应用用来监控Root权限,基本的机制就是这个样子。