`

手工root你的手机/root的原理

 
阅读更多
本文需要的基础:
基本windows命令行操作、linux shell操作

===============================

说到root一个android,很多人连它本身的意思都不清楚

在linux系统中root用户拥有至同无上的权力,当然也可以把整个系统搞崩溃
所以厂商一般在面向消费者的手机里面禁用root权限。这样确实使手机
稳定很多,但也失去了很多DIY的乐趣。所以要改机,先提权到root

正统的发行版linux中有一个su命令,用于普通用户提权到root。
su本来在linux里是不与其它程序关联的,
在现在的android中su是与superuser.apk关联的
也就是大家常看到的某某程序在想提权时,弹出的超级用户授权提示
只要这两个东西在系统里面,那就能让普通程序提权了

要把su安装进去,又回到原点,没root权限我怎么拷文件进去呢?

国外一些黑客研究android内核代码,搞定了一种破/解程序
现有的有两个:
psneuter - android 1.5-android 2.2适用,执行完后可以adb root验证
gingerBreak - android 2.3-android 3.0适用,执行完后需要执行/data/local/tmp/sh进入root shell
它们的原理过于复杂,不作讲解。源代码可以在网络上找到

通过执行破/解程序,可以临时得到root权限,
在这个权限时把你的su和superuser.apk拷入手机系统
这样以后就可以随时随地获取root权限,也就是真正地root了你的手机

说了这么多,大家清楚了,Android提权的关键是三个东西, su + superuser.apk + 破/解程序
下面提供下载:
root_files.zip(399.3 KB, 下载次数: 76)

(这几个文件在SuperOneClick和ZOC_FlashMaster中均有附带)

===============================

好。这堂课真是文字太多了。。
下面是实战过程:

我手上的milestone是android 2.2,使用psneuter和su-v2(SuperOneClick1.90)
例如我把这三个文件都拷在F:\,su-v2已经重命名为su
一般android都使用临时文件夹/data/local/tmp

有了上一堂课的基础,我们可以使用adb来上传这几个必要文件
上传文件
  1. F:\>adb push psneuter /data/local/tmp/
  2. 2183 KB/s (585731 bytes in 0.262s)

  3. F:\>adb push su /data/local/tmp/
  4. 884 KB/s (26264 bytes in 0.029s)

  5. F:\>adb push superuser.apk /data/local/tmp
  6. 1511 KB/s (196521 bytes in 0.127s)
复制代码
linux中,可执行文件是需要权限的,普通的一般用755([-rwx][r-x][r-x])
我们把psneuter的权限改成755
  1. F:\>adb shell
  2. $ cd /data/local/tmp
  3. cd /data/local/tmp
  4. $ ls -l
  5. ls -l
  6. -rw-rw-rw- shell shell 196521 2010-09-05 15:47 superuser.apk
  7. -rw-rw-rw- shell shell 26264 2010-08-17 17:44 su
  8. -rw-rw-rw- shell shell 585731 2011-01-08 18:02 psneuter
  9. $ chmod 755 psneuter
  10. chmod 755 psneuter
  11. $ ls -l
  12. ls -l
  13. -rw-rw-rw- shell shell 196521 2010-09-05 15:47 superuser.apk
  14. -rw-rw-rw- shell shell 26264 2010-08-17 17:44 su
  15. -rwxr-xr-x shell shell 585731 2011-01-08 18:02 psneuter
  16. $
复制代码
执行psneuter
可以看到命令提示符跳回windows的了,也就是adbd已经重启
  1. $ ./psneuter
  2. ./psneuter
  3. property service neutered.
  4. killing adbd. (should restart in a second or two)
  5. F:\>
我们把/system/挂载为可写。由于adbd启动需要时间,我加入了wait-for-device命令
可以看到,提示说remount成功
*如果提示无权限,说明你破/解程序不成功
  1. F:\>adb wait-for-device remount
  2. remount succeeded
我们现在把su和superuser.apk分别拷入系统
可以全程看见$提示符变成#了,表示你有root权限
  1. F:\>adb shell
  2. # cd /data/local/tmp
  3. cd /data/local/tmp
  4. # cp su /system/bin/ #--拷入su,有些人是放在/system/xbin的
  5. cp su /system/bin/
  6. # cp superuser.apk /system/app/ #--拷入apk
  7. cp superuser.apk /system/app/
  8. # chmod 4755 /system/bin/su #--su命令是需要超级权限的,所以是4755,具体参考linux文件权限
  9. chmod 4755 /system/bin/su
  10. # chmod 644 /system/app/superuser.apk #--apk一般是644
  11. chmod 644 /system/app/superuser.apk
  12. # exit
  13. exit
我们重启手机
  1. F:\>adb reboot

  2. F:\>
好了,装个rootExplore检查一下看有没有正常获取ROOT权限吧
分享到:
评论

相关推荐

    全志A80平台固定以太网的MAC地址ethernet_a80_merrii_20151203_1607.7z

    [置顶] android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法 http://www.cnblogs.com/Amandaliu/archive/2012/12/04/2802322.html 【Android】获取Mac地址【2】 后来想起来,调试 以太网卡驱动的时候,曾经...

    入门学习Linux常用必会60个命令实例详解doc/txt

    文件为doc版,可自行转成txt,在手机上看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! 入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供...

    基于JSP酒店管理系统设计软件程序源码+数据库+WORD毕业设计论文文档.zip

    目前,由于中小型酒店缺少必要的资金和人员,仍采用手工记录和打电话咨询的方式,对酒店管理和顾客预订都很不方便,而且极其容易出错。所以开发一套适合的用于中小酒店的酒店管理系统是非常符合当代的条件,既可以...

    《Linux从入门到精通》

    11.1.3.1 私有用户组基本原理 11.2 基于PAM用户认证 11.2.1 PAM模块 11.2.2 服务 11.2.3 配置文件 11.2.4 影子口令 11.2.5 更为详尽的信息 11.3 影子工具 11.4 创建定制的核心 11.4.1 创建模组化的内核 ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    最近几年,他专注于研究Oracle内部原理以及解决性能问题。他的博客主页是 kerryosborne.oracle-guy.com。  ROBYN SANDS 思科公司的软件工程师,为思科的客户设计开发嵌入式Oracle数据库产品。从1996年开始使用...

    Linux从入门到精通

    11.1.3.1 私有用户组基本原理 11.2 基于PAM用户认证 11.2.1 PAM模块 11.2.2 服务 11.2.3 配置文件 11.2.4 影子口令 11.2.5 更为详尽的信息 11.3 影子工具 11.4 创建定制的核心 11.4.1 创建模组化的内核 ...

    2005详细介绍Linux从入门到精通

    11.1.3.1 私有用户组基本原理 11.2 基于PAM用户认证 11.2.1 PAM模块 11.2.2 服务 11.2.3 配置文件 11.2.4 影子口令 11.2.5 更为详尽的信息 11.3 影子工具 11.4 创建定制的核心 11.4.1 创建模组化的内核 ...

    linux从入门到精通.chm

    11.1.3.1 私有用户组基本原理 11.2 基于PAM用户认证 11.2.1 PAM模块 11.2.2 服务 11.2.3 配置文件 11.2.4 影子口令 11.2.5 更为详尽的信息 11.3 影子工具 11.4 创建定制的核心 11.4.1 创建模组化的内核 ...

    flash shiti

    Flash 模拟试题及答案(一) 1.Loading应该放在影片的什麽位置? A. 影片不能有Loading B....C....D....2.Flash中设置属性的命令是?...A....B....C....D....A....B....C....D....A....B....C....D....A....B....C....D....A....B....C....D....A....B....C....D....A....B....C....D....A....B....C....D....A....

Global site tag (gtag.js) - Google Analytics