zoukankan      html  css  js  c++  java
  • Android 获取ROOT权限原理解析

    一、 概述
    本文介绍了android中获取root权限的方法以及原理,让大家对android玩家中常说的“越狱”有一个更深层次的认识。

    二、 Root的介绍
    1.       Root 的目的
    可以让我们拥有掌控手机系统的权限,比如删除一些system/app下面的无用软件,更换开关机铃声和动画,拦截状态栏弹出的广告等。
    2.       Root的原理介绍
    谷歌的android系统管理员用户就叫做root,该帐户拥有整个系统至高无上的权利,它可以访问和修改你手机几乎所有的文件,只有root才具备最高级别的管理权限。我们root手机的过程也就是获得手机最高使用权限的过程。同时为了防止不良软件也取得root用户的权限,当我们在root的过程中,还会给系统装一个程序,用来作为运行提示,由用户来决定,是否给予最高权限。这个程序的名字叫做Superuser.apk。当某些程序执行su指令想取得系统最高权限的时候,Superuser就会自动启动,拦截该动作并作出询问,当用户认为该程序可以安全使用的时候,那么我们就选择允许,否则,可以禁止该程序继续取得最高权限。Root的过程其实就是把su文件放到/system/bin/ Superuser.apk 放到system/app下面,还需要设置/system/bin/su可以让任意用户可运行,有set uid和set gid的权限。即要在android机器上运行命令:adb shell chmod 4755 /system/bin/su。而通常,厂商是不会允许我们随便这么去做的,我们就需要利用操作系统的各种漏洞,来完成这个过程。
    特别说明:我们烧机中的Eng版本并没有Root权限
    3.       Root的方法
    从Root的原理我们了解到,root过程分三步:
    a.       adb push su /system/bin
    b.       adb push SuperUser.apk /system/app
    c.       adb shell chmod 4755 /system/bin/su
    若系统是eng版的,做到以上三步,那么我们Root就大功告成,但实际是不行的。为什么呢?原因有三:
    1、user版的/system路径是只读权限,不能简单写入
    2、 chmod需要Root权才能运行(死循环了)
    3、有些系统在启动时会自动将su的4755权限设成755,甚至直接删除su
    那么针对这种情况,我们怎么办呢?非常简单:烧一个eng版本的boot.img就行了
    可以用展讯的烧录工具,或者用fastboot模式从sd卡烧一个boot.img文件即可
    至此,我们Root就成功了,可以用R.E(Root Explorer)在根目录创建和删除文件。

    三、 深入理解Root机制
    其流程是:
    1.       Su 被用户调用
    2.       Su 创建了一个socket监听
    3.       Su 向Superuser发送了一个广播,说是有一个程序要请求root
    4.       Su 等待socket 数据接收。有超时处理。
    5.       Superuser 界面收到广播后,弹出一个对话框,询问用户
    6.       Superuser 向传来的数据中的socket写回用户应答结果。
    7.       Su 根据socket得到的结果处理应该不应该继续执行
    8.       完成提权管理
    superuser.apk这个程序是root成功后,专门用来管理root权限使用的,防止被恶意程序滥用。

    转载:https://blog.csdn.net/pan0755/article/details/76927015

  • 相关阅读:
    401. Binary Watch
    46. Permutations
    61. Rotate List
    142. Linked List Cycle II
    86. Partition List
    234. Palindrome Linked List
    19. Remove Nth Node From End of List
    141. Linked List Cycle
    524. Longest Word in Dictionary through Deleting
    android ListView详解
  • 原文地址:https://www.cnblogs.com/l1pe1/p/9341930.html
Copyright © 2011-2022 走看看