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权限的原理相关推荐

  1. Android应用.三星i9000系列(3).无需刷机轻松获取Root权限

    Android应用.三星i9000系列指南(3).无需刷机轻松获取Root权限 草木瓜 20110403 一.前言 从购机到现在,也刚几天,平常忙于工作,没怎么捣鼓手机.晚上偶尔想打开 wifi玩玩, ...

  2. Android应用.三星i9000系列(1).版本选择与USB连接电脑

    Android应用.三星i9000系列指南(1).版本选择与USB连接电脑 草木瓜 20110401 一.序 五年前的Moto E680虽然还能勉强使用,但SD卡已不灵便,触摸屏也经常罢工,     ...

  3. Android应用.三星i9000系列(2).工程代码,网络锁与锁三键

    Android应用.三星i9000系列教程(2).工程代码,网络锁与锁三键 草木瓜 20110401 一.工程代码 i9000提供的工程代码十分有用,具体如下. (内容整理转自网络,原作者不详) 拨号 ...

  4. 三星Galaxy s4(i9505)完美获取root权限教程

    三星Galaxy s4(i9505)完美获取root权限教程 论坛上贴吧上关于三星s4 i9505 root的介绍有很多,方法多种多样,今天小编来介绍一种使用root软件来实现三星i9505一键roo ...

  5. Android WIFI密码查看器实例(在获取Root权限下查看系统文件)

    Android WIFI密码查看器实例 实现原理:使用shell命令查看保存WIFI密码的系统文件 涉及的知识 界面展示 基本的Shell命令 shell查看WIFI密码 ShellUtil的使用 正 ...

  6. android 常用adb 和 adb shell 命令 获取root权限

    android 常用adb 和 adb shell 命令 ADB常用命令:   1. 查看设备 adb  devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会 ...

  7. Android 控制台读取sqlite数据库以及adb获取root权限问题

    (个人经验,仅供参考,错误之处,敬请谅解) 读取sqlite数据文件 1.命令行     adb.sqlite命令最好设置成环境变量,否则需要先进入该文件夹. adb shell 进入虚拟机shell ...

  8. Android手机root刷机教程:三星I9003手机如何快速获取ROOT权限,小三们不会ROOT的请看过来,手把手图文教程帮你ROOT手机

    上次我写了一篇文章, " google play电子市场和gmail如何安装在国产手机.三星手机.摩托手机里" 大家好多人找到我,问手机如何ROOT的,当然了三星用户居多,我的手机 ...

  9. Android利用 libsuperuse执行shell命令或获取root权限

    Android 5.1 之后,发现通过ActivityManger获取不到正在运行的进程了,可以通过shell命令来获取,参考. libsuperuse执行shell可以参考: http://my.o ...

最新文章

  1. seaborn可视化散点图并自定义可视化结果图像的大小(Change the Size of a Seaborn Plot)
  2. Servlet的Cookie值保存与获取
  3. 聚集索引和非聚集索引实例
  4. 存储型xss_web安全测试--XSS(跨站脚本)与CSRF
  5. java向指定文件继续写内容_java 向指定文件写入内容(如文件存在,则先删除再创建;写入如目录不存在,则创建)...
  6. 双向tvs和单向tvs_TVS的完整形式是什么?
  7. 热烈庆祝个人博客突破1万人!
  8. opencv中的resize函数实现图像插值缩放
  9. linux下python脚本处理数据_在Linux中通过Python脚本访问mdb数据库的方法
  10. 将图片转为CAD的方法
  11. java字符串替换一部分_字符串中部分字符替换
  12. java redis 抽奖_GitHub - zenmin/luckdraw: 年会抽奖程序 Java开发 可内定中奖人员 一键导入员工 使用简单...
  13. div背景 css网格背景_如何为背景图像网格创建运动悬停效果
  14. js中如何截取小数点后两位数字
  15. Application Server was not connected before run configuration stop, reason: javax.management.Instanc
  16. 拼多多显示服务器有点问题,拼多多为什么登录不上 登录不上解决方法
  17. 中国石斑鱼养殖产量不断上升,捕捞产量逐渐下降「图」
  18. 基于策略梯度的强化学习方法及算法理论基础
  19. MySQL之流程函数
  20. JAVA听力源码,【VOA英语听力】Remembering 2001: A Space Odyssey 50 Years Later

热门文章

  1. 基于随机森林算法的人脸数据集分类
  2. TortoiseGit的使用详解
  3. TeeChart8.0安装 ---转贴收藏
  4. elasticsearch设置密码
  5. Python-charle+fiddler
  6. Ultimaker荣获领先的IDC创新者荣誉
  7. 什么是等级保护2.0,北京等保2.0测评机构有哪些?
  8. 软件测试有专门的学校吗,开设软件测试专业学校都有哪些?
  9. 主编编辑器怎么复制文章?
  10. 证券行业集中式交易系统