安卓手机root

什么是ROOT?

      对于Android手机用户来说的Root是指拥有Root权限,一般情况下,手机厂商出于安全考虑会关闭手机的Root权限,手机系统是运行在普通用户权限下的,用户是无法操作系统中的文件与数据的。

      拥有Root可以对系统中的所有对象进行操作。


什么是刷机?

    HTC手机在刷机前需要保证S-OFF,S-OFF代表什么呢?

    S代表 SecurityLock安全锁,保护锁的意思,S-OFF就是关掉锁保护。    

    然后是Motorola的手机,这个厂商对于不同型号的手机设置是不同的,很多Motorola型号的手机将BootLoader是锁住的,因此,在刷机前需要先解锁BootLoader。(Boot在计算机科学领域称为 “引导”,BootLoader顾名思义 引导启动)

    还有中兴手机,这厂商更是变态,一次次的版本升级只是为了锁住用户不让用户升级,也就导致了同一型号的手机由于版本不同有的型号带Recovery,有的又不带。

    三星的手机现在可以说是最好卖的,一方面是出色的硬件配置与外观,另一方面是有众多的Rom包可以刷。三星的好几款手机是Google源码的测试样机,而且三星手机在出厂时对用户的限制相比其它品牌是较少的,这也是广大Android开发者对它青睐有加的原因。


早先的Android手机要想获取Root权限可以有以下几种方式:

1.             使用本地提权漏洞利用工具来直接Root,这是最原始最纯洁的方式。随着厂商对Rom的升级,这些内核的漏洞随时都可能被修补,因此,这种Root方法在时间与空间上都有着很大的局限性。

2.             由于手机厂商对硬件的封闭,加上内核补丁修补很完全,这个时候获取Root权限就更难了,这个时候刷机与Root就联合起来了,由于不能从系统内部通过Exploits(利用,运用)来获取Root权限,只能通过修改Rom包来达到Root的目的,这也是目前很多第三方Rom包自带了Root的原因,然而手机厂商也不是吃干饭的,手机厂商在OTA升级时使用Recovery对包签名进行验证来防止用户刷入修改过的包。对于这种变态的厂商,只能通过FastBoot来线刷了,这里内容就不再展开了。

3.             当然,还有一部分厂商,为了吸引更多用户购买他们的手机,还是在手机中偷偷的留了后门的,比如不锁BootLoader,让用户刷第三方的Recovery,又或是干脆留个以前的漏洞不补,让用户自己来Exploits等等。


su与SuperUser.apk是如何协作的

在Root后手机会植入su与superuser.apk两个文件,

su会被放入手机的/system/bin目录下,

superuser.apk被放到/system/app目录下,它们组合在一起,为系统提供了su权限的管理

这两个工具目前由xda论坛上的ChainsDD在维护(顺便说一下,国内xxRoot工具也有自已的su与SuperUser.apk文件,修改取自并修改于ChainsDD的代码,并且版权被切)。


 su程序与Linux平台上的su本身无太大差别,只是由于系统的特殊性去掉了部分内容,并加上了一些控制代码。

su程序保留的命令行参数不多,“-c”与“-s”可能是最常用的,整个程序核心功能由两个方向性的函数allow()与deny()组成,在经过计算获取到了命令行参数与命令后,会执行以下代码:

AID_ROOT与AID_SHELL分别是root与shell权限,程序直接放行,stat()函数会检查手机是否安装有SuperUser.apk,没有程序会拒绝执行。条件满足就会以Superuser的权限往下执行:

database_init()与database_check()负责从SuperUser.apk程序databases目录下的permissions.sqlite数据库中读取权限设置,这也是为什么SuperUser.apk有能力控制su的原因!(人家主动找上门的)等dballow弄到手,该放行该拒绝就看着办了,如果没搜索到记录就代表是第一次,需要往下建立socket来send_intent,send_intent()采用底层构造Intent方式来发送广播,这个广播会被SuperUser.apk接收,等返回后会给你返回个字符串“ALLOW”或“DENY”,这时候su程序该咋地就咋地了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值