鸿蒙更新包 update.bin 解包工具

@Ta 1天前发布,12小时前修改 224点击

项目地址

使用方法

  1. 抓包获取一个鸿蒙全量更新包(update_full_base.zip)

    电脑开热点给手机,然后用 Wireshark 在电脑上抓包,再在手机上下载更新即可。鸿蒙的更新包地址是 http 的,直接就能看到(但是应用商店地址是 https 的,抓不到)。

    在 Wireshark 显示过滤器里输入 http 来突出显示下载地址。

    在大版本更新(比如 5.1 更新到 6.0)的时候可以抓到全量更新包,文件名为 update_full_base.zip。

    image.png(87.09 KB)

  2. 安装依赖

    以 Ubuntu 24.04 为例:

    sudo apt install git python3 python3-xmltodict python3-cryptography python3-asn1crypto
    

    image.png(60.42 KB)

  3. 下载解包工具

    git clone https://gitcode.com/hu60/update_unpackaging_tools.git
    

    image.png(47.12 KB)

  4. 解压全量更新包

    mkdir update_full_base
    cd update_full_base
    unzip ../update_full_base.zip
    

    image.png(57.37 KB)

  5. 解包 update.bin

    ../update_unpackaging_tools/unpack_update_bin.py -i ./update.bin -o .
    

    解出来的包会在自动创建的 unpack_result_xxx 文件夹里。

    image.png(153.84 KB)
    image.png(149.48 KB)

  6. 安装挂载 system.img 所需依赖包

    如果内核直接支持erofs文件系统则无需安装。

    sudo apt install erofsfuse
    

    image.png(41.76 KB)

    如果安装失败,运行以下命令检查内核是否支持erofs:

    cat /proc/filesystems | grep erofs
    

    如果没有任何输出,说明内核不支持 erofs,需要更换支持的内核或者换成有 erofsfuse 软件包的系统才能正常挂载。

  7. 挂载 system.img

    cd ./unpack_result_*
    mkdir system
    sudo mount -t erofs ./system.img ./system
    cd ./system
    ls
    

    image.png(108.51 KB)

  8. 以下文件也可以用相同的方式挂载:

    chip_prod.img
    cust.img
    patch.img
    sys_prod.img
    system.img
    vendor.img
    
回复列表(2|隐藏机器人聊天)
  • @Ta / 17小时前 / /
    听说新版本系统不能提取app了
    我是晨曦,我喂自己袋盐!
  • @Ta / 13小时前 / /

    @晨曦,对,没有办法提取安装到系统内的第三方应用,只能靠解包系统固件来提取系统应用。

添加新回复
回复需要登录