Android应用.三星i9000系列(4).SuperOneClick获取Root权限的原理
Android应用.三星i9000系列(4).SuperOneClick获取Root权限的原理
草木瓜 20110408
一、前言
经过笔者自己测试与分析,得出结论:所以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
$ ./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权限。如果不是#,重复执行(./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
$ ./su
./su
Permission denied
$
所以需要把su放在/system/bin目录下。以供以后的手机应用程序使用!
至于rageagainstthecage,su的运行原理,就不是本文现在讨论的问题了。
Android应用.三星i9000系列(4).SuperOneClick获取Root权限的原理相关推荐
- Android应用.三星i9000系列(3).无需刷机轻松获取Root权限
Android应用.三星i9000系列指南(3).无需刷机轻松获取Root权限 草木瓜 20110403 一.前言 从购机到现在,也刚几天,平常忙于工作,没怎么捣鼓手机.晚上偶尔想打开 wifi玩玩, ...
- Android应用.三星i9000系列(1).版本选择与USB连接电脑
Android应用.三星i9000系列指南(1).版本选择与USB连接电脑 草木瓜 20110401 一.序 五年前的Moto E680虽然还能勉强使用,但SD卡已不灵便,触摸屏也经常罢工, ...
- Android应用.三星i9000系列(2).工程代码,网络锁与锁三键
Android应用.三星i9000系列教程(2).工程代码,网络锁与锁三键 草木瓜 20110401 一.工程代码 i9000提供的工程代码十分有用,具体如下. (内容整理转自网络,原作者不详) 拨号 ...
- 三星Galaxy s4(i9505)完美获取root权限教程
三星Galaxy s4(i9505)完美获取root权限教程 论坛上贴吧上关于三星s4 i9505 root的介绍有很多,方法多种多样,今天小编来介绍一种使用root软件来实现三星i9505一键roo ...
- Android WIFI密码查看器实例(在获取Root权限下查看系统文件)
Android WIFI密码查看器实例 实现原理:使用shell命令查看保存WIFI密码的系统文件 涉及的知识 界面展示 基本的Shell命令 shell查看WIFI密码 ShellUtil的使用 正 ...
- android 常用adb 和 adb shell 命令 获取root权限
android 常用adb 和 adb shell 命令 ADB常用命令: 1. 查看设备 adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会 ...
- Android 控制台读取sqlite数据库以及adb获取root权限问题
(个人经验,仅供参考,错误之处,敬请谅解) 读取sqlite数据文件 1.命令行 adb.sqlite命令最好设置成环境变量,否则需要先进入该文件夹. adb shell 进入虚拟机shell ...
- Android手机root刷机教程:三星I9003手机如何快速获取ROOT权限,小三们不会ROOT的请看过来,手把手图文教程帮你ROOT手机
上次我写了一篇文章, " google play电子市场和gmail如何安装在国产手机.三星手机.摩托手机里" 大家好多人找到我,问手机如何ROOT的,当然了三星用户居多,我的手机 ...
- Android利用 libsuperuse执行shell命令或获取root权限
Android 5.1 之后,发现通过ActivityManger获取不到正在运行的进程了,可以通过shell命令来获取,参考. libsuperuse执行shell可以参考: http://my.o ...
最新文章
- seaborn可视化散点图并自定义可视化结果图像的大小(Change the Size of a Seaborn Plot)
- Servlet的Cookie值保存与获取
- 聚集索引和非聚集索引实例
- 存储型xss_web安全测试--XSS(跨站脚本)与CSRF
- java向指定文件继续写内容_java 向指定文件写入内容(如文件存在,则先删除再创建;写入如目录不存在,则创建)...
- 双向tvs和单向tvs_TVS的完整形式是什么?
- 热烈庆祝个人博客突破1万人!
- opencv中的resize函数实现图像插值缩放
- linux下python脚本处理数据_在Linux中通过Python脚本访问mdb数据库的方法
- 将图片转为CAD的方法
- java字符串替换一部分_字符串中部分字符替换
- java redis 抽奖_GitHub - zenmin/luckdraw: 年会抽奖程序 Java开发 可内定中奖人员 一键导入员工 使用简单...
- div背景 css网格背景_如何为背景图像网格创建运动悬停效果
- js中如何截取小数点后两位数字
- Application Server was not connected before run configuration stop, reason: javax.management.Instanc
- 拼多多显示服务器有点问题,拼多多为什么登录不上 登录不上解决方法
- 中国石斑鱼养殖产量不断上升,捕捞产量逐渐下降「图」
- 基于策略梯度的强化学习方法及算法理论基础
- MySQL之流程函数
- JAVA听力源码,【VOA英语听力】Remembering 2001: A Space Odyssey 50 Years Later