一、破解原理

Android手机获得Root权限,其实就是让/system和/data分区获得读写的权限。这两个分区的权限配置,一般在根分区的init.rc文件中,修改这个文件可永久获得root权限。

众所周知,市面上绝大部分的Android手机文件系统有三个分区,分别是/,/system,/data。根分区(/)是打包为ramdisk.img后,再与kernel的zImage打包为boot.img。boot.img在EMMC/NAND中以RAW DATA的形式存在,且除使用烧写工具外,无法读写。正因如此,根分区(/)在每次开机时都会从存储器中加载到RAM, 所以根分区(/)是难以不刷机破解的。

如何破解呢? 我们推荐的办法是:获得boot.img,解压boot.img得到ramdisk.img, 再由ramdisk.img解压得到root目录(/),修改其中的init.rc文件,再打包,最终得到新的boot.img。最后利用烧写工具将boot.img烧写到手机即可。

注: 现在的手机厂商都有提供升级软件包,获得boot.img和scatter file不是一件难事,。加之所有MTK手机厂商都采用flash tools工具。此方法具有较高的实战性。

二、必备工具

1. linux运行环境。所有破解操作都是在linux下完成的。

2. split_bootimg.pl。 该工具用来分解boot.img

3. mkbootfs。 用来生成bootfs。

4. minigzip。 轻量级ZIP压缩工具。

5. mkimage。用来生成带标识头(512字节)的工具,有些厂家不使用该工具,如高通。

6. mkbootimg。用来生成boot.img的工具。

三、破解步骤

1.获得boot.img.

2. 执行$./split_bootimg.plboot.img, 将boot.img解压为zimage和ramdisk.img, 名字分别为boot.img-kernel, boot.img-ramdisk.gz。请记住这里的Board name,后面打包的时候需要用到。

3. 执行$dd if=boot.img-ramdisk.gz skip=1 bs=512of=ramdisk.gz, 该命令从uRamdisk中获得ramdisk镜像。

4. $mkdir root, $cd root, $gzip -dc ../*-ramdisk.gz| cpio –i, 这三条命令最终将ramdisk.img.gz解压到 root目录下。

5. 修改root目录下/system,/data分区的权限。 权限破解都在这一步。

6. $ ./mkbootfsroot | ./minigzip >new_ramdisk.img

7. $./mkimage new_ramdisk.img ROOTFS>u_new_ramdisk.img

8. $./mkbootimg --kernel boot.img-kernel --ramdisku_new_ramdisk.img --board [Board name]--output new_boot.img。注Board name见第2步描述。

9. 烧写boot.img到手机。

10. ok!

另一种root方法,Android boot.img破解的更多相关文章

  1. Android中定时执行任务的3种实现方法

    在Android开发中,定时执行任务的3种实现方法: 一.采用Handler与线程的sleep(long)方法(不建议使用,java的实现方式)二.采用Handler的postDelayed(Runn ...

  2. Android中定时器的3种实现方法

    原文:http://blog.csdn.net/wulianghuan/article/details/8507221 在Android开发中,定时器一般有以下3种实现方法: 一.采用Handler与 ...

  3. 安卓(android)建立项目时失败,出现Android Manifest.xml file missing几种解决方法?(总结中)

    安卓(android)建立项目时失败.出现AndroidManifest.xml file missing几种解决方法?(总结中) Eclipse新建项目.遇到这种问题.注意例如以下: 1.文件名称最 ...

  4. 【转】Android中定时器的3种实现方法

    原文网址:http://www.android-study.com/pingtaikaifa/508.html 在Android开发中,定时器一般有以下3种实现方法: 一.采用Handler与线程的s ...

  5. 在Android开发中,定时器一般有以下3种实现方法

    在Android开发中,定时器一般有以下3种实现方法: 原文地址http://www.360doc.com/content/12/0619/13/87000_219180978.shtml 一.采用H ...

  6. android studio gradle 两种更新方法更新

    android studio gradle 两种更新方法更新 第一种.Android studio更新 第一步:在你所在项目文件夹下:你项目根目录gradlewrappergradle-wrapper ...

  7. Android手机插上usb能充电但不能识别的一种解决方法

    设备要求 已root的Android手机. 背景 这个方法是意外发现的,最初同事有一台测试机插上usb能充电但不能识别,他让我帮他看看怎么回事,于是我就按照常规套路,开发者模式.usb调试.MTP什么 ...

  8. 在Android开发中,定时执行任务的3种实现方法

    在Android开发中,定时执行任务的3种实现方法: 一.采用Handler与线程的sleep(long)方法(不建议使用,Java的实现方式)二.采用Handler的postDelayed(Runn ...

  9. Android开发 ---Button的OnClickListener的三种实现方法

    button的OnClickListener的三种实现方法 onclick事件的定义方法,分为三种,分别为 1.在xml中进行指定方法: 2.在Actitivy中new出一个OnClickListen ...

随机推荐

  1. css设置水平垂直居中

    关于CSS设置水平以及垂直居中的解决方案 想要水平居中? 内联的元素(文字)? .center-children { text-align: center;} 块级元素? .center-me { m ...

  2. linux教程之四

    相信不少想学习linux的新手们正愁不知道看什么linux学习教程好,下面小编给大家收集和整理了几点比较重要的教程,供大家学习,如需想学习更多的话,可到wdlinux学堂寻找更多教程.   linux ...

  3. 将汉字转为UTF-8编码

    01./** 02. * 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名. 03. * @param s 原文件名 04. * @return 重新编码后的文件名 05. */ ...

  4. flume-agent实例

    flume    多种适配,多样化的数据收集    核心概念        event:一条消息        client:访问者        agent:            重要组件Sour ...

  5. EXP/IMP的三种模式

    基本语法和实例:     1.EXP:       有三种主要的方式(完全.用户.表)       1.完全:           EXP SYSTEM/MANAGER BUFFER=64000 FI ...

  6. UML[1] UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)(转)

    转自:http://blog.csdn.net/zhaoxu0312/article/details/7212152 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是 ...

  7. writev/readv

    ```cpp#include <sys/uio.h>ssize_t readv(int fd, const struct iovec *iov, int iovcnt);ssize_t w ...

  8. 修改Android中strings.xml文件, 动态改变数据

    有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法.strings.xml中节点是支持占位符的,如下所示: <string name=&qu ...

  9. Boost库安装与使用

    Boost 库非常不错,所以我今天就安了它一下下. Boost 库不是 C++ 标准库的一部分(据说在下一版本号的 C++ 标准会採纳它),但它有一些标准库所没有的非常实用的一些功能,比方我非常须要的 ...

  10. linux命令之seq

    seq命令简述 seq命令比较常用,在需要做循环的时候用于产生一个序列是再合适不过的工具了,常用方法也比较简单: Usage:      seq [OPTION]... LAST      seq [ ...