`
wx1569020408
  • 浏览: 26839 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

华为p6官方固件包UPDATE.APP解包

 
阅读更多

华为官方固件包UPDATE.APP解包,大多依靠一个perl语言脚本split_updata.pl。JoeyJiao的split_updata.pl最新版本,可以解开华为p6的包,但文件名识别不了。源码地址:https://github.com/JoeyJiao/split_updata.pl

找到一个python版本的,可以解包并精确给出文件名。原始为python2版本,自行小修改成python3版本。

代码源自scue及jnjn,原始代码看这里:http://jnjn.blog.163.com/blog/static/275999382013311515491/

修改版如下:

#!/usr/bin/env python
# Version: 0.2.201308040830
# Author: linkscue
# Function: unpack any hauwei honor2 Update.app
# Thanks to McSpoon(zhaoxing-go@163.com)
# 20130411: Modified for alignment to 4 byte boundary by jnjn@163.com
# 20130804: Modified for python3 by atuo @ oschina.net

import os
import sys
import struct
from functools import reduce

print("Usage: unpack $huawei_app_file")
try:
    sys.argv[1]
except IndexError:
        File="UPDATE.APP"
else:
    File=sys.argv[1];

verify_code=0xa55aaa55
verify_bin=struct.pack("I",verify_code)

print("I: unpack",File)
f=open(File,'rb')
cont=f.read()
f.close()

start=0
sub_file=1
search=verify_bin
while True:
    index = cont.find(search, start)
    if index == -1:
        break

    if ((index) % 4  != 0 ):
    	print("skipping a 55aa5aa5 at offset: 0x%08x\n" % (index))
    	start = index + 1
    else:
	    packet_addr=cont[index+4:index+8]
	    data_addr=cont[index+24:index+28]
	    img_name=cont[index+60:index+76]
	    packet_size_tuple=struct.unpack("I",packet_addr)
	    data_size_tuple=struct.unpack("I",data_addr)
	    packet_size=int(reduce(lambda rst, d: rst * 10 + d, packet_size_tuple))
	    data_size=int(reduce(lambda rst, d: rst * 10 + d, data_size_tuple))
	    temp=cont[index+packet_size:index+packet_size+data_size]
	    filename=str(sub_file)+'_'+img_name.strip(b'\x00').decode('ascii')+'.img'
	    print( "%2d I: verify code found at: 0x%08x, size: %10d bytes, --> %-20s" \
	    % (sub_file,index,data_size,filename) )
	    f1=open(filename,'wb')
	    f1.write(temp)
	    f1.close()
	    start = index + 1
	    sub_file += 1



转载于:https://my.oschina.net/u/947271/blog/149911

分享到:
评论

相关推荐

    华为官方固件UPDATE.APP解包打包工具

    非常威猛的官方固件UPDATE.APP解包打包工具(转自XDA论坛) Huawei Update Extractor After messing around a bit with the perl tools available for extracting Huawei update.app files, i got the idea to ...

    update.app格式解包工具

    除了这个特定的华为升级包解包工具,还有其他第三方工具,如iFunBox、iFile等,它们也能处理`.app`文件,特别是对于越狱的iOS设备。在使用这些工具时,确保了解操作流程,遵循安全实践,避免数据丢失或设备损坏。 ...

    华为官方固件UPDATE.APP解包修改打包详细教程.pdf

    1. 首先,你需要下载华为的UPDATE.APP固件包以及相应的解包工具,如华为UpdateExtractor.exe。这两个文件都需要解压到同一目录下。 2. 运行解包工具HuaweiUpdateExtractor.exe,选择“解包功能”。通过点击“选择...

    华为官方解压工具,提取update.app 文件

    本文将深入探讨华为官方提供的解压工具——HuaweiUpdateExtractor_0.9.9.5,以及如何使用它来提取update.app文件。 首先,`update.app`文件是华为手机固件更新中的核心组件,通常包含系统升级的数据,如系统映像、...

    华为官方固件APP专用解包工具

    华为官方固件APP专用解包工具是一款专为华为设备用户设计的应用程序,它主要用于解析和提取华为设备的更新固件包。这个工具的核心功能是帮助用户深入理解并操作华为设备的更新过程,使得用户能够自定义或备份他们的...

    华为最新解包工具.rar

    华为官方固件update.app解包工具,用于解包华为官方SD卡刷机包UPDATA.APP,可将APP固件解包成IMG镜像分区文件,继续解包可对刷机包进行定制。

    华为海思和高通手机固件解包工具

    固件解包是移动设备开发和维修领域中的一个重要环节,特别是对于华为海思和高通这两个主流的手机芯片制造商来说。这两个品牌各自拥有独特的固件结构和加密方式,因此需要专门的工具进行处理。本文将深入探讨华为海思...

    rom 一键解包 打包 做第三方rom工具 完美版CM

    rom 一键解包 打包 做第三方rom工具 完美版CM ...华为机型官方固件Updata。app格式解包 开机第一屏制作logo ofp格式解包 等等功能选项较多 是你入手编译第三方rom的工具 需要的友友下载使用 建议不要有中文路径下操作

    HuaweiUpdateExtractor_0.9.9.5华为解包压包工具

    HuaweiUpdateExtractor_0.9.9.5华为解包压包工具,使用的时候,去掉Setting 中的 Verify header checksum 前面的勾。专门用于提取或修改华为ROM包中的 UPDATE.APP 的工具

    华为固件包解压工具和img解压工具.rar

    首先,华为固件包通常以UPDATE.zip或UPDATE.tar.gz的形式提供,这些文件包含了设备所需的固件数据和升级程序。解压工具可以帮助用户将这些压缩文件解析成可执行的升级步骤。例如,UPDATE.zip可能包含了一个UPDATE....

    华为OLT固件打包拆包工具.rar

    - 下载固件:从华为官方服务器或本地存储下载最新的固件打包文件。 - 检查兼容性:确认新固件与OLT硬件及当前运行的固件版本兼容。 - 拆包准备:使用拆包工具解压固件,准备升级所需的所有文件。 - 平滑升级:在...

    华为emui4.0解包工具(for Linux)

    华为EMUI4.0官方update.APP固件Linux命令行解包工具,用法:Program package.app

    APP固件解包工具

    APP固件解包工具可以用来解开华为官方固件

    华为解包工具.zip

    本文将详细讲解如何使用“华为解包工具”来分析和提取华为手机的ROM固件。 首先,我们需要了解ROM固件的基本概念。ROM固件通常是一个大的ZIP文件,包含了手机启动时所需的所有组件,如系统文件、库、设置、以及预装...

    解析华为手表表盘hwt watchface包中的素材

    hwt格式的watchface包就是华为手表专属的表盘资源文件,包含了一系列用于构建和展示表盘的图像、字体和配置数据。理解如何解析这些包中的素材,对于开发者或UI设计师来说,是创建独特、吸引人的表盘设计的关键。 ...

    华为通用官方recovery恢复教程(同样适用于第三方recovery刷入)

    3. **华为解包工具**:包括华为固件包解压工具和IMG解压工具,用于解压系统固件包并从中提取出Recovery文件。 #### 三、提取官方Recovery 1. **下载对应版本的固件包**:访问华为EMUI官网(http://www.emui.com/)...

    华为C8813Q 官方解包工具

    "华为C8813Q 官方解包工具"就是这样的一个实用软件,专门用于处理C8813Q手机的系统文件,以实现刷机、升级或个性化定制等操作。 解包(Unpacking)是Android系统中一个关键的过程,它涉及到了系统固件的解析和修改...

    ROM签名 盒子刷机解包打包签名工具

    ROM签名,固件签名,以及解包打包是Android系统开发中的关键步骤,尤其在盒子刷机过程中至关重要。本文将深入探讨这些概念,并介绍相应的工具及其使用方法。 首先,ROM签名是指对Android ROM进行数字签名的过程,以...

    华为手机解包工具

    3. **解包**:使用华为手机解包工具,将系统文件包(如system.img或boot.img)解压到电脑上,这通常涉及到对文件的读取、解析和解密等步骤。 4. **修改文件**:解压后的文件可以被编辑,用户可以根据需求替换系统...

    荣耀3C解包工具HuaweiUpdateExtractor_0.9.7.9

    9. **update.zip**:这是待解包的华为固件更新包,包含系统升级所需的所有文件和数据。通过HuaweiUpdateExtractor,用户可以查看并提取这些内容。 综上所述,这款工具通过集成各种加密、压缩库和文件识别技术,为...

Global site tag (gtag.js) - Google Analytics