




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大家都知道安卓的更换呢,那是在 boot.img 里面,那么如何在 WINDOWS 下去解开它呢,LINUX 的自己略过。首先本来是为BOOTIMG.EXE,然后你懂的,会出来一大堆,这得感谢制作 bootimg.exe 的作者,的机器做的分解工具,不过也可以拿来分解 boot.img、recovery.img 等,OK!先来谈谈这两个文件的基础,部分来自网络。boot 和 recovery 映像的文件结构boot 和 recovery 映像并不是一个完整的文件系统,它们是一种 android 自定义的文件格式,该格式包括了 2K 的文件头,后面紧跟着是用 gzip 压缩过的内核,再后面是一个
2、 ramdisk 内存盘,然后紧跟着第二阶段的载入器程序(这个载入器程序是可选的,在某些映像中或许没有这部分)。此类文件的定义可以从源代码 android-src/system/core/mkbootimg 找到一个叫做 bootimg.h 的文件。(译者的话,原文是一个叫做 mkbootimg.h 的文件,但从 Android名应该是改为 bootimg.h 了)。/*2.1 的代码来看,该文件* +* | boot header | 1 page* +* | kernel | n pages* +* | ramdisk | m pages* +* | second stage | o pa
3、ges* +*+* n = (kernel_size + page_size - 1) / page_size* m = (ramdisk_size + page_size - 1) / page_size* o = (second_size + page_size - 1) / page_size* 0. all entities are page_size aligned in flash* 1. kernel and ramdisk are required (size != 0)* 2. second is optional (second_size = 0 - no second)*
4、 3. load each element (kernel, ramdisk, second) at* the specified physical address (kernel_addr, etc)* 4. prepare tags at tag_addr. kernel_args is* appended to the kerneldlinehe tags.* 5. r0 = 0, r1 = MACHINE_TYPE, r2 = tags_addr* 6. if second_size != 0: jump to second_addr* else: jump to kernel_add
5、r*/ramdisk 映像是一个最基础的小型文件系统,它包括了初始化系统所需要的全部文件,例如:初始化 init 进程以及 init.rc(可以用于设置很多系统的参数)等文件。如果你您希望了解关于此文件的信息可以参考以下:.mon.git;a=blob;f= ootfs-initramfs.txt以下是一个典型的 ramdisk 中包含的文件列表:./init.trout.rc./p./proc./dev./init.rc./init./sys./init.goldfish.rc./sbin./sbin/adbd./system./dataation/filesystem
6、s/ramfs-rrecovery 映像包含了一些额外的文件,例如一个叫做 recovery 的二进制程序,以及一些对该程序支持性的资源程序)。文件(当你您按下 home+er 组合键的时候就会运行这个 recovery典型的文件列表如下:./res./res/images./res/images/progress_bar_empty_left_round.bmp./res/images/icon_firmware_install.bmp./res/images/indeterminate3.bmp./res/images/progress_bar_fill.bmp./res/images/p
7、rogress_bar_left_round.bmp./res/images/icon_error.bmp./res/images/indeterminate1.bmp./res/images/progress_bar_empty_right_round.bmp./res/images/icon_firmware_error.bmp./res/images/progress_bar_right_round.bmp./res/images/indeterminate4.bmp./res/images/indeterminate5.bmp./res/images/indeterminate6.bm
8、p./res/images/progress_bar_empty.bmp./res/images/indeterminate2.bmp./res/images/icon_unpacking.bmp./res/images/icon_installing.bmp./sbin/recovery看到以上结构的时候就已经很奇特了,那么怎么来解开它,以及打包呢!马上揭晓!工具主要语言为,分两处版本,源文件及 windows 下可执行文件 exe,内容及用法完全一致。 运行方法:bootimg.py 功能 参数目前支持以下功能:-repack-ramdisk, 生成 ramdisk-unpack-ramd
9、isk, 解开 ramdisk-repack-bootimg, 生成 bootimg (包括 boot.img 及 recovery.img)-unpack-bootimg, 解开 bootimg-unpack-updata, 解开 updata-unpack-yas, 解开 yas-unpack-rle, 解开 rle,生成 raw 格式及 png-repack-rle, 生成 rle,可支持多种格式(如果 pil 可用, exe 里有 pil)下面一一说明功能中的参数。-unpack-updata 文件文件为空时,默认使用 UPDATA.APP解开后,会有四个文件,boot.img, re
10、covery.img, system.img, userdata.img这些都是刷机时可能需要的。-unpack-bootimg 文件文件为空时,默认使用 boot.img解开后,会有两个文件,kernel 和 ramdisk.gz同时,注意输出,比如 base, cmdline, name 等等-repack-bootimg base cmdlinebase为空时,使用 0 x200000 (C8600 默认)cmdline为空时,使用 mem=211 console=null android(c8600 适用)生成 bootimg 时,会使用 kernel 和 ramdisk.gz(如果存
11、在 ramdisk.cpio.gz,优先使用),生成boot.img实际上啊,就是在 WINDOWS 下更方便而已,在这里要感谢制作这个中!的人,非常感谢比如要解开 boot.img,假设位置 D:boot,具体,命令如下:开始-运行-cmdd:回车cd boot 回车bootimg -unpack-bootimg仅需要以上命令就会解开 boot.img 了!如果是 recovery.img 那么改名为 boot 那么不是照样能行了,呵呵,看到木有,哈哈!分解就是那么简单,按照上面命令,就如下了:bootimg -repack-bootimgOK!好了,修改大家就自己去奋斗吧,其实说实话,安卓本来基于 LINUX 就是在那系统下玩的,用 WINDOWS 的就比较吃亏了。如上,在 windows 下编辑的完全压力很大的说,前面谈那么多啥base 基址,cmdline 命令行啊这些,就是为了在微软下用这个工具打包时候好做这些工作,看图,分解 boot.img 后出现的情况。看图中的 base 基址是 0 x200000,cmdline 命令行是“mem=211Mconsole=nullandroid,size是 2048 ,padding-size 是 4096,那么都要回编回去,接下来打包的时候
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45230-2025数据安全技术机密计算通用框架
- 借用林地协议合同范本
- 包装纸盒合同范本
- 北京车辆过户合同范本
- 军事拓展协议合同范本
- 企业价值咨询合同范本
- 动产个人抵押合同范本
- 人工劳务外包合同范本
- 企业绿化合同范本
- 农业机械改装项目合同范例
- 本科生毕业论文写作指导-课件
- 硬质岩层组合切割开挖技术
- 2024-2025学年人教版数学六年级上册 期末综合卷(含答案)
- 《商务沟通-策略、方法与案例》课件 第九章 职场沟通
- 微电网经济性研究-洞察分析
- 2024年考研管理类综合能力(199)真题及解析完整版
- 2020-2024年五年高考地理真题分类汇编专题02(地球运动)+解析版
- 水文与水资源勘测基础知识单选题100道及答案解析
- 销售沙盘演练培训
- 药物临床试验伦理审查应急预案
- 书法培训合作合同范例
评论
0/150
提交评论