获取root权限及破解原理分析

   日期:2024-12-27    作者:pj0op 移动:http://3jjewl.riyuangf.com/mobile/quote/70497.html

转贴自:http://blog.csdn.net/liwei_cmg/article/details/6313944

获取root权限及破解原理分析

一、前言

经过笔者自己测试与分析,得出结论:所以Android手机获取Root权限,最直观
最有效,最简便的就是SuperOneClick方法
与i9000基带版本的什么JPE,JPD,JP8等等,没有关系
与i9000Android软件版本的什么2.0,2.1,2.2等等,没有关系
与具体的什么Android手机也没有关系
管你是三星的,还是MOTO的,还是HTC……

到底与什么有关呢,我理解是Linux的内核版本!当然普通用户根本不必关心
后续的文章会提到有关破解Root的底层概念,当然也超出普通用户的理解范围。

这里,我只想介绍一下SuperOneClick获取Root权限的简单原理

二、提示

有关Root权限的获取方法可参考
《Android应用.三星i9000系列(3).无需刷机轻松获取Root权限》
本系列文章:http://blog.csdn.net/liwei_cmg/category/241839.aspx
三、原理简介

我们已经知道adb(Android Debug Bridge)这个概念,不管是Moto的,还是Samsung
,Android手机通过USB连接电脑后,安装好驱动,在设备管理器里都会看到Android
Composite ADB Interface这样的东东。SuperOneClick就是调用的adb这样的接口。
同样豌豆荚,91手机助手这样的软件也是使用了adb。

关于Android手机USB连接电脑的相关内容,可参考
《Android应用.三星i9000系列(1).版本选择与USB连接电脑》

四、SuperOneClick提取Root权限的基本步骤

F:/Own/Phone/Samsung/Tools/SuperOneClick 的目录下所有文件

2010/10/16  22:04           577,335 adb.exe
2010/10/18  11:27           339,885 adblinux
2010/10/18  11:26           171,656 adbmac
2010/10/16  22:04            96,256 AdbWinApi.dll
2010/10/16  22:04            60,928 AdbWinUsbApi.dll
2010/10/16  23:29         1,062,992 busybox
2010/10/16  22:04             5,392 rageagainstthecage  //步骤一
2010/10/16  22:04            24,120 sqlite3
2010/10/16  22:04            26,264 su                  //步骤二
2010/11/04  21:21           379,392 SuperOneClick.exe
2010/10/16  22:04           196,521 Superuser.apk       //步骤三

手机USB调试方法连接好电脑后,在电脑上运行SuperOneClick.exe,在弹出的
界面上,点击Root按钮,便开始了Root权限提取的自动操作

其实它的步骤是这样的

步骤一:将rageagainstthecage文件存放在手机/data/local/tmp下,并执行
——————————————————————————–

1) 将文件放在/data/local/tmp下,其他目录无法执行。命令如下
F:/Own/Phone/Samsung/Tools/SuperOneClick>adb push rageagainstthecage /data/local/tmp

2) 使用adb shell,修改rageagainstthecage文件权限
F:/Own/Phone/Samsung/Tools/SuperOneClick>adb shell
$ cd /data/local/tmp
cd /data/local/tmp
$ chmod 777 rageagainstthecage

3) 使用adb shell,运行rageagainstthecage
$ https://blog.csdn.net/Northeastwolf/article/details/rageagainstthecage

[*] CVE-2010-EASY Android local root exploit (C) 2010 by 743C

[*] checking NPROC limit …
[+] RLIMIT_NPROC={2410, 2410}
[*] Searching for adb …
[+] Found adb as PID 19374
[*] Spawning children. Dont type anything and wait for reset!
[*]
[*] If you like what we are doing you can send us PayPal money to
[*] 7-4-3-C@web.de so we can compensate time, effort and HW costs.
[*] If you are a company and feel like you profit from our work,
[*] we also accept donations > 1000 USD!
[*]
[*] adb connection will be reset. restart adb server on desktop and re-login.
$

此时退出shell,再次使用adb shell,会发现提示符为#,已经在电脑Shell
上获取了Root权限。如果不是#,重复执行(https://blog.csdn.net/Northeastwolf/article/details/rageagainstthecage
直到提示#。

F:/Own/Phone/Samsung/Tools/SuperOneClick>adb shell
#

步骤二:将/system修改为可读写,把su复制到/system/bin/
——————————————————————————–

1)上步骤一成功出现的#号提示符下,修改/system
# mount -o remount rw /system
#

2)另开一个命令行窗口,复制su至/system/bin
F:/Own/Phone/Samsung/Tools/SuperOneClick>adb push su /system/bin

su这个文件的功能,便是实现:普通用户至root超级用户的权限切换

步骤三:将授权管理的标准Android软件包(Superuser.apk)复制到手机并安装
——————————————————————————–

这个过程很简单,不再赘述,就是adb push与adb install。授权管理其实
就是管理哪些程序能够使用su。也就意味着对超级用户权限的使用进行管理。

步骤四:重启手机
——————————————————————————–

其实就是重启测试一下。

 

五、总结
在提取Root权限过程中,只有两个重要的文件

rageagainstthecage
su

rageagainstthecage负责直接破解获取Root权限,然后才能修改/system/。
su如果只放在/data/local/tmp目录下,是没有权限运行的。

$ ls -l su
ls -l su
-rwxrwxrwx shell    shell       26264 2010-10-16 22:04 su
$ https://blog.csdn.net/Northeastwolf/article/details/su
https://blog.csdn.net/Northeastwolf/article/details/su
Permission denied
$


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号