精华内容
下载资源
问答
  • 主要介绍了Android rom解包打包工具的相关资料,对rom解包打包相关知识感兴趣的朋友可以参考下
  • ROM解包打包工具箱

    2018-07-15 10:16:00
    ROM解包打包工具箱,windows下支持system.img和system.new.dat,system.transfer.list,file_contexts.bin转换
  • mstar系列ROM解包打包工具,用于乐视超级电视系统ROM的打包解包,定制ROM必备。
  • 安卓rom解包软件

    2018-05-17 15:39:22
    安卓rom解包软件。
  • odex解包打包ROM的批处理工具,无需其他程序直接用批处理即可完成odex解包打包,完成后可以直接上传手机/system替换原先的odex格式文件,当然替换这步需要机器先被root。 参见 ...
  • AndroidCarrierClassTools 可以解压和打包.new.dat 版本为4的(版本在transfer.list里面查看)手机ROM包。方便自己自作ROM包。
  • 晶晨固件解包打包工具 最新版 AMLogicTools,没有解不开的包
  • echo 正在对boot进行处理 ...cd %~dp0boot >nul 2>nul%~dp0files\bootimg --repack-ramdisk cpiolist.txt >nul 2>nul%~dp0files\bootimg --repack-bootimg >nul 2>nul
  • 1 大家都知道安卓的核心更换呢,那是在boot.img里面,那么如何在WINDOWS下去解开它呢,LINUX的自己略过。... 10 到这里就完全打包解包无压力了,额,recovery解包打包,就直接把他搞成boot.img封包后再搞回去就行了的。

    1

    大家都知道安卓的核心更换呢,那是在boot.img里面,那么如何在WINDOWS下去解开它呢,LINUX的自己略过。。。。

    首先百度BOOTIMG.EXE,然后你懂的,会出来一大堆,这得感谢制作bootimg.exe的作者,本来是为华为的机器做的分解工具,不过我们也可以拿来分解boot.img、recovery.img等,OK!先来谈谈这两个文件的基础,部分来自网络。

    boot和recovery映像的文件结构

    boot和recovery映像并不是一个完整的文件系统,它们是一种android自定义的文件格式,该格式包括了2K的文件头,后面紧跟着是用gzip压缩过的内核,再后面是一个ramdisk内存盘,然后紧跟着第二阶段的载入器程序(这个载入器程序是可选的,在某些映像中或许没有这部分)。此类文件的定义可以从源代码android-src/system/core/mkbootimg找到一个叫做bootimg.h的文件。

    (译者的话,原文是一个叫做mkbootimg.h的文件,但从Android 2.1的代码来看,该文件名应该是改为bootimg.h了)。

    2

    /*

    ** +-----------------+

    ** | boot header | 1 page

    ** +-----------------+

    ** | kernel | n pages

    ** +-----------------+

    ** | ramdisk | m pages

    ** +-----------------+

    ** | second stage | o pages

    ** +-----------------+

    **

    ** 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)

    ** 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 kernel commandline in the tags.

    ** 5. r0 = 0, r1 = MACHINE_TYPE, r2 = tags_addr

    ** 6. if second_size != 0: jump to second_addr

    ** else: jump to kernel_addr

    */

    ramdisk映像是一个最基础的小型文件系统,它包括了初始化系统所需要的全部核心文件,例如:初始化init进程以及init.rc(可以用于设置很多系统的参数)等文件。如果你您希望了解更多关于此文件的信息可以参考以下网址:

    http://git.source.android.com/?p=kernel/common.git;a=blob;f=Documentation/filesystems/ramfs-rootfs-initramfs.txt

    3

    以下是一个典型的ramdisk中包含的文件列表:

    ./init.trout.rc

    ./default.prop

    ./proc

    ./dev

    ./init.rc

    ./init

    ./sys

    ./init.goldfish.rc

    ./sbin

    ./sbin/adbd

    ./system

    ./data

    4

    recovery映像包含了一些额外的文件,例如一个叫做recovery的二进制程序,以及一些对该程序支持性的资源图片文件(当你您按下home+power组合键的时候就会运行这个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/progress_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.bmp

    ./res/images/progress_bar_empty.bmp

    ./res/images/indeterminate2.bmp

    ./res/images/icon_unpacking.bmp

    ./res/images/icon_installing.bmp

    ./sbin/recovery

    看到以上结构的时候就已经很奇特了,那么怎么来解开它,以及打包呢!马上揭晓!

    5

    看到以上结构的时候就已经很奇特了,那么怎么来解开它,以及打包呢!马上揭晓!

    看到我叫大家百度BOOTIMG.EXE,也许大家又在大叫坑爹了,没办法,本人天生懒人一个啊!下载这个东西之后,那就一切皆有可能啦!解开后,至于修改,那么就八仙过海,各显神通了!

    工具主要语言为python,分两处版本,源文件及windows下可执行文件exe,内容及用法完全一致。

    6

    运行方法:

    bootimg.py 功能 参数

    目前支持以下功能:

    --repack-ramdisk, 生成 ramdisk

    --unpack-ramdisk, 解开 ramdisk

    --repack-bootimg, 生成 bootimg (包括boot.img及recovery.img)

    --unpack-bootimg, 解开 bootimg

    --unpack-updata, 解开 updata

    --unpack-yafffs, 解开 yafffs

    --unpack-rle, 解开rle,生成raw格式及png图片(如果pil可用, exe里有pil)

    --repack-rle, 生成rle,可支持多种格式

    7

    下面一一说明功能中的参数。

    --unpack-updata [文件]

    [文件]为空时,默认使用UPDATA.APP

    解开后,会有四个文件,boot.img, recovery.img, system.img, userdata.img

    这些都是刷机时可能需要的。

    --unpack-bootimg [文件]

    [文件]为空时,默认使用boot.img

    解开后,会有两个文件,kernel和ramdisk.gz

    同时,注意输出,比如base, cmdline, name等等

    --repack-bootimg [base] [cmdline]

    [base]为空时,使用0x200000 (C8600默认)

    [cmdline]为空时,使用mem=211 console=null androidboot.hardware=qcom (c8600适用)

    生成bootimg时,会使用kernel和ramdisk.gz(如果存在ramdisk.cpio.gz,优先使用),生成boot.img

    实际上啊,就是在WINDOWS下更方便而已,在这里要感谢制作这个软件的人,非常感谢中!

    比如要解开boot.img,假设我的位置D:oot,具体,命令如下:

    开始-运行-cmd

    d:回车

    cd boot回车

    bootimg   --unpack-bootimg

    0818b9ca8b590ca3270a3433284dd417.png

    8

    仅需要以上命令就会解开boot.img了!

    如果是recovery.img那么改名为boot那么不是照样能行了,呵呵,看到木有,哈哈!分解就是那么简单,按照上面命令,合成就如下了:

    bootimg   --repack-bootimg

    OK!好了,修改大家就自己去奋斗吧,其实说实话,安卓本来基于LINUX就是在那系统下玩的,用WINDOWS的就比较吃亏了。如上,在windows下编辑的完全压力很大的说,前面谈那么多啥base基址,cmdline命令行啊这些,就是为了在微软下用这个工具打包时候好做这些工作,看图,分解boot.img后出现的情况。

    0818b9ca8b590ca3270a3433284dd417.png

    9

    看图中的base基址是0x200000,cmdline命令行是“mem=211M console=null androidboot.hardware=qcom",page-size是2048,padding-size是4096,那么都要回编回去,接下来打包的时候就应该输入以下命令

    bootimg  --repack-bootimg  0x200000  "mem=211M console=null androidboot.hardware=qcom"  2048  4096

    如下图所示,OK!这才是真正的打包完成,就如果直接打包的话,华为中兴的无所谓,不过其他机器就开不了机器了!

    0818b9ca8b590ca3270a3433284dd417.png

    10

    到这里就完全打包解包无压力了,额,recovery解包打包,就直接把他搞成boot.img封包后再搞回去就行了的。

    展开全文
  • Android刷机包解包打包

    2021-05-27 03:36:16
    使用abootimg工具可以解包打包。 操作命令mkdir boot && cd boot abootimg -x ../boot.img 得到这三个文件 :bootimg.cfg initrd.img zImage initrd.img文件的解包file initrd.img initrd.img: gzip compressed data...

    作者:ghostry

    发布时间:2018-02-04

    浏览: 3921

    转载注明出处: https://blog.ghostry.cn/technique/852.html

    #安装命令

    sudo apt-get install android-tools-adb android-tools-fastboot android-tools-fsutils abootimg

    #每个工具的用途,根据需要安装

    android-tools-adb

    Android Debug Bridge CLI tool

    android-tools-fastboot

    Android Fastboot protocol CLI tool

    android-tools-fsutils

    Android ext4 utilities with sparse support

    abootimg

    Tool to read/write/update android boot images

    system.img有可能有几种格式。Android sparse image,Linux rev 1.0 ext4 filesystem data,sfs

    Ubuntu下有转化工具。//sparse image转化成为ext4的raw imge

    Usage: simg2img

    //ext4的raw image to sparse image

    Usage: img2simg []

    ext4文件格式的可以直接mountmount system.img /mnt/system

    挂载后修改完umount

    如果原来就是ext4直接用就好,如果原来是sparse就转换一下。

    sfs格式的也可以直接挂载mount -o loop system.sfs

    挂载后可以看到里边有一个ext4格式的镜像,再次挂载就好了。

    boot.img是文件组合在一起的。使用abootimg工具可以解包打包。

    操作命令mkdir boot && cd boot

    abootimg -x ../boot.img

    得到这三个文件 :bootimg.cfg initrd.img zImage

    initrd.img文件的解包file initrd.img

    initrd.img: gzip compressed data, from Unix #可以看到是一个gzip的压缩文件

    下面是解压initrd.img文件的命令mkdir initrd

    cd initrd

    cat ../initrd.img | gunzip | cpio -vid

    解压上面的initrd.img后,可以看到非常多的文件

    上面编辑完后,重新打包命令如下cd initrd

    find . | cpio --create --format='newc' | gzip -9 > ../myinitd.img

    新写打包boot.imgabootimg --create myboot.img -f bootimg.cfg -k zImage -r myinitrd.img

    下面的命令可以打印出myboot.img文件中的config信息abootimg -i myboot.img

    iptables端口映射后php获取客户端ip问题

    下一篇: 用docker安装gitlab

    展开全文
  • 解包打包system.img直接挂载mountsystem.img/mnt/rom修改后打包 file_contexts放在当前目录 即打包的img所在目录make_ext4fs-S./file_contexts-l1610612736-s-asystemsystem_out.img/mnt/rom-l时按指定长度 ...

    解包和打包system.img

    直接挂载mount system.img /mnt/rom

    修改后打包 file_contexts放在当前目录 即打包的img所在目录make_ext4fs -S ./file_contexts -l 1610612736 -s -a system system_out.img /mnt/rom

    -l时按指定长度 1610612736既是指定长度

    通过下面这命令查看大小 会显示xxx bytsfdisk -l system.img

    打包后还不是Ext4用以下工具和命令./simg2img system_out.img system_new.img

    用以下命令可以查看是否为img格式是否为ext4 和原img比对类型file system_new.img

    解压和打包安卓DAT文件

    首先把DAT解压成IMG镜像,我们要使用sdat2img工具把 DAT文件转换成IMG镜像./sdat2img    -  = input, system.transfer.list from rom zip -  = input, system.new.dat from rom zip -  = output ext4 raw image file

    一个很简单的例子(看你用的啥):./sdat2img system.transfer.list system.new.dat system.img

    or./sdat2img.py system.transfer.list system.new.dat system.img

    新生成的IMG镜像便是我们下一步需要的.

    挂载IMG镜像sudo mount -t ext4 -o loop system.img /mnt/rom

    orsudo mount system.img /mnt/rom

    这时候你可以在系统的 /mnt/rom目录下看到文件的具体内容然后进行修改了.

    打包回IMG镜像-把修改好的内容打包回去需要使用make_ext4工具./make_ext4fs -S ./file_contexts -l 1610612736 -s -a system system_out.img /mnt/rom

    -l时按指定长度 1610612736既是指定长度 通过下面这命令查看大小 会显示xxx bytsfdisk -l system.img

    打包后还不是Ext4用以下工具和命令./simg2img system_out.img system_new.img

    用以下命令可以查看是否为img格式是否为ext4 和原img比对类型file system_new.img

    封装成DAT仍需要使用工具 使用 rimg2sdat (在安卓7.0,很可能会出现段存储错误)./rimg2sdat 

    例:./rimg2sdat system_new.img

    这样就打包好了新的DAT文件,放入刷机ROM.刷机即可~

    file_contexts提取

    解压rom得到boot.img 有的是BOOT.img

    使用unpackbootimg工具./unpackbootimg -i .\BOOT.img

    解压后得到BOOT.img-ramdisk和其他一堆文件

    只用找到BOOT.img-ramdisk,这是一个gzip的压缩包

    直接解压即可得到file_contexts

    参考:

    工具:

    安卓7.0file_contexts提取

    先安装工具包:sudo apt install abootimg

    解包:abootimg -x boot.img

    得三个文件,其中有一个initrd.img,使用file命令查看为gzipfile initrd.img initrd.img: gzip compressed data, from Unix

    解压后得file_contexts.bincat ./initrd.img | gunzip | cpio -vid

    Android 7.0 file_contexts.bin和file_contexts转换工具

    1、file_contexts.bin 转换成 file_contexts,命令如下:./sefcontext -o file_contexts file_contexts.bin sefcontext

    2、file_contexts 转换成 file_contexts.bin,命令如下:./sefcontext_compile -o file_contexts.bin file_contexts

    安卓7.0新版打包dat方式 使用rimg2sdat.py(这个工具使用的输入文件是sparse ext4fs image镜像)

    由system目录制作raw ext4fs镜像system.rimg./make_ext4fs -T 0 -S ./file_contexts -l 2013265920 -a system system.rimg /mnt/rom

    简单解释一下,

    -T代表对镜像中的unix文件时间戳进行设置,这里设置为0,表示1970-1-1。

    -S 代表file_contexts,即selinux的文件selabel,必须指定;注意是大写S。

    -l 表示文件分区的length,也是制作出来的镜像文件的大小;这里n5指定为1G。

    -a 表示android中分区的名字,这里表示system分区;

    /mnt/rom表示制作源目录。也就是你解包后挂载的那个目录

    通过上面的步骤,得到一个2GB的文件system.rimg。这是一个ext4的文件,所以需要转化img2simg system.rimg sysparse.rimg

    有人会说为什么不直接用-s生成sparse文件,

    原因是:这两个文件是不一样的,至于为什么,我也不知道,可能工具有问题,没细究

    第一个直接生成的:

    file system_out.img

    system_out.img: Android sparse image, version: 1.0, Total of 491520 4096-byte output blocks in 4854 input chunks.

    第二个是生成的ext4再转化后的:

    file sysparse.rimg

    sys.rimg: Android sparse image, version: 1.0, Total of 491520 4096-byte output blocks in 10396 input chunks.

    会发现 这两个的blocks会不一样../img2sdat.py sysparse.rimg ./ 4

    这样,会在当前目录下生成2个文件:system.new.dat system.transfer.list。自己再创建一个空的system.patch.dat即可。

    最近筹备的一些东西和遇到的问题。

    最近有部分rom开发者将rom打包成了一种特殊的格式,实质肯定是ext的img,但是无法挂载,也没有多余的分区,更无法转化,正在寻找解决办法

    同时也准备开发一个rom推广的精简工具,以后我会更倾向于直接刷完三方再一键精简。不太想折腾包了,打包解包太慢,测试时间也长,使用app,会更0基础更方便一些。

    测试环境:

    ubuntu 16.04 64bit

    各种问题解决来自:

    以下包中有一个img2simg工具没有,Ubuntu下可以直接安装工具包sudo apt install android-tools-fsutils

    已测试的所有最新的工具 linux使用自行百度学习

    展开全文
  • 解包假设有一个名为update.zip的ROM包,我们要在Ubuntu下对它进行定制。首先把system.transfer.list和system.new.dat.br(有些旧版的系统的镜像可能是system.new.dat)从update.zip解压出来,转成system.img(原始镜像...

    解包

    假设有一个名为update.zip的ROM包,我们要在Ubuntu下对它进行定制。首先把system.transfer.list和system.new.dat.br(有些旧版的系统的镜像可能是system.new.dat)从update.zip解压出来,转成system.img(原始镜像格式),修改完后又按步骤打包回原来的格式。本文只写了system分区的定制方法,但是对于其他分区也是类似的,都要转成原始镜像格式后才能对它修改。如果使用file system.img命令来查看system.img文件信息,会得到类似下面的信息:

    system.img: Linux rev 1.0 ext4 filesystem data, UUID=da594c53-9beb-f85c-85c5-cedf76546f7a, volume name "system" (extents) (large files)

    system.new.dat.br转换为system.new.dat

    brotli -d system.new.dat.br

    注:如果镜像就是system.new.dat格式,就跳过这步

    system.new.dat转成system.img

    git clone https://github.com/xpirt/sdat2img

    cd sdat2img

    python sdat2img.py system.transfer.list system.new.dat system.img

    挂载system.img

    sudo mkdir -p /mnt/system

    sudo mount -o loop system.img /mnt/system

    cd /mnt/system

    扩容(可选)

    挂载后可以通过df -h来查看挂载点/mnt/system剩余空间有多少,如果没有剩余,就要对它进行扩容,下面的例子是给它增加128M的空间,扩容之前要先取消挂载

    dd if=/dev/zero bs=1M count=128 >> system.img

    e2fsck -f system.img

    resize2fs system.img

    修改

    现在,可以在/mnt/system目录下根据自己的需求增删文件了。增加文件后,使用chmod,chown等命令来修改它们的权限

    打包

    打包其实就是解包的逆过程

    生成system.img

    sudo make_ext4fs -T 0 -S file_contexts -l 2048M -a system system_new.img /mnt/system

    -T 代表对镜像中的unix文件时间戳进行设置,这里设置为0,表示1970-1-1

    -S 指定file_contexts

    -l 表示目标镜像的大小。如果不懂得写多少可以使用df -h命令查看挂载点/mnt/system的总大小,然后取整数(512M,1024M,2048M...),比如查得挂载点空间大小是992M,你就得写1024M

    -a 指定目标img文件在Android中的挂载点

    system_new.img 表示生成的镜像

    /mnt/system/ 表示源目录

    注: file_contexts可以去这里,根据系统版本选择分支(Android7.0对应的是cm14.0分支,Android7.1对应的是cm14.1分支,Android8.0对应lineage-15.0分支,以此类推)下载,下载后也可以根据自己的需求定制file_contexts

    成功后会在当前目录下生成system_new.img。如果发生错误,根据错误进行调整参数,直到没有错误提示为止。

    卸载system

    sudo umount /mnt/system

    把system.img转成system.new.dat

    转换之前可以对之前解压出来的文件进行备份:

    mv system.transfer.list system.transfer.list.bak

    mv system.new.dat system.new.dat.bak

    开始转换

    git clone https://github.com/jazchen/rimg2sdat

    cd rimg2sdat

    python rimg2sdat.py system_new.img

    成功后会在当前目录下生成system.transfer.list和system.new.dat

    system.new.dat转成system.new.dat.br

    brotli -0 system.new.dat

    注:如果开始解压出来的镜像就是system.new.dat格式,就跳过这步

    更新文件到刷机包

    zip update.zip system.transfer.list

    原文:https://www.cnblogs.com/luoyesiqiu/p/10791511.html

    展开全文
  • amlogic晶晨S905rom固件解包打包定制工具Customizationtool V2.0.7,适合64位CPU的android、yunOS固件。
  • 操作系统:ubuntu10.10可虚拟机可其他linux可其他版本 & Windows 7Ubuntu下操作:下载unyaffs和yaffs2.tar.gz,并编译yaffs2再复制到/bin下...将下载的自己喜欢的直刷ROM中的system.img复制到system文件夹中...
  • windows下解包/打包boot/recovery.img的工具bootimg.exe,且支持自动解包/打包dt.img,对于喜欢刷机和Android动态调试的朋友是很有用的,同时也感谢工具的作者。
  • 适用于RK3399、RK3368H、RK3328、RK3288、RK3229、RK3228、RK3188、RK3168、RK3128、RK3126、RK3026、RK3066、PX1、PX2、PX3、PXA等瑞芯微RK全系安装平台线刷固件的解包打包修改。稳定快速解包打包system、boot、...
  • 网上现在能搜索到的system.new.dat文件打包解包工具均仅支持6.0及以下ROM 经过我不懈的努力搜索,终于找到一款7.X能用的工具 懂的人自然知道我在说什么 先看看有没有人需要这个工具 需要的话我再发上来 找这个工具的...
  • amlogic晶晨S905rom固件解包打包定制工具Customizationtool V2.0.10,适合64位CPU的android固件。
  • 已测试5.0-8.0的rom解包打包全部正常,9.0未测试,非常好用的解包打包工具,需要安装安装java环境,内附相关说明。
  • 此工具仅用于amlogic线刷固件,包含固件解包工具,打包工具,解压打包rec工具(高安的不能解压打包),解压打包boot工具(高安的不能解压打包),解压打包system工具(慎用,建议不用,请单独用rom助手之类的修改...
  • boot.img和recovery.img 解包/打包工具window可用 本工具不支持中文路径,建议解压至硬盘分区根目录 支持5.1以上版本
  • 首先下载安装ROM制作工具 下载地址http://tfile.7to.cn/romtool/romtools_setup_official.exe 然后我们把下载的华为固件包拖动到工具就可以自动解包了,具体操作:鼠标选中固件-左键按住-拖到到工具里即可,该工具...
  • 一、解包打包 Android 产品中,内核格式是Linux标准的zImage,根文件系统采用ramdisk格式。这两者在Android下是直接合并在一起取名为boot.img,会放在一个独立分区当中。这个分区格式是Android自行制定的格式。 ...
  • system.new.dat.br解包打包工具,使用方法 brotli.exe -h
  • 手机rom内核boot.img解包打包合并替换工具

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,217
精华内容 486
关键字:

rom解包打包