bootimg解压和压缩破解
来源:互联网 发布:如何删除ubuntu双系统 编辑:程序博客网 时间:2024/06/08 08:35
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!
- bootimg解压和压缩破解
- 解压/制作Android Bootimg
- 字符串压缩和解压
- gzip解压和压缩
- 压缩和解压文件
- ZIP压缩和解压
- linux压缩和解压
- Gzip压缩和解压
- ZIP压缩和解压
- 解压和压缩
- tar 解压和压缩
- 文件压缩和解压
- GZIP压缩和解压
- ubuntu解压和压缩
- java 解压和压缩
- iOS压缩和解压
- linux 压缩和解压
- ssziparchive 解压 和 压缩
- 第七周上机任务 静态成员应用
- 第八周上机项目一采用友元函数
- 第8周项目一-实现复数类中的运算符重载(利用类的友元函数)
- Android 移动动画- TranslateAnimation
- 根据程序集名称初始化程序集Assembly 根据类FullName和Assembly Name初始化类对象
- bootimg解压和压缩破解
- 用类的友元函数完成运算符的重载
- mac mysql编译
- Ubuntu 12.04 64位 -- eclipse新建android项目没有R文件
- Gitblit的安装配置及访问
- 第八周任务-项目一(任务三)
- DOS命令大全
- MYSQL的空间查询
- Android 比例动画- ScaleAnimation