[TOOL] Huawei Update Extractor [UPDATED: v0.9.9.5] | OPEN-SOURCE LIBRARY

Search This thread

xxx-man-by

Senior Member
Jan 20, 2013
100
116
Belarus
Huawei MediaPad 10 FHD

Hello. I try to use this utility to unpack MediaPad 10 FHD firmware.
Here is partition table of my device:
| /dev/block | mount | | size | partition | first_lba | last_lba | min | maj |
|-----------------------------------------------------------------------------------------------|
| loop0 | | | 6MB | | | | 0 | 7 |
| loop1 | | | 70MB | | | | 1 | 7 |
| zram0 | | | 200MB | swap | | | 0 | 252 |
| mmcblk0 | | | 15200MB | | | | 0 | 179 |
| mmcblk0p1 | | | 256KB | xloader | 0x100 | 0x2ff | 1 | 179 |
| mmcblk0p2 | | | 3MB | round | 0x300 | 0x1fff | 2 | 179 |
| mmcblk0p3 | | | 4MB | nvme | 0x2000 | 0x3fff | 3 | 179 |
| mmcblk0p4 | /misc | emmc | 4MB | misc | 0x4000 | 0x5fff | 4 | 179 |
| mmcblk0p5 | | | 8MB | splash | 0x6000 | 0x9fff | 5 | 179 |
| mmcblk0p6 | | | 32MB | oeminfo | 0xa000 | 0x19fff | 6 | 179 |
| mmcblk0p7 | | | 12MB | logo | 0x1a000 | 0x1ffff | 7 | 179 |
| mmcblk0p8 | /vrcb | emmc | 4MB | vrcb | 0x20000 | 0x21fff | 8 | 179 |
| mmcblk0p9 | | | 16MB | recovery2 | 0x22000 | 0x29fff | 9 | 179 |
| mmcblk0p10 | /recovery | emmc | 16MB | recovery | 0x2a000 | 0x31fff | 10 | 179 |
| mmcblk0p11 | /boot | emmc | 8MB | boot | 0x32000 | 0x35fff | 11 | 179 |
| mmcblk0p12 | | ext4 | 64MB | modemimage | 0x36000 | 0x55fff | 12 | 179 |
| mmcblk0p13 | | ext4 | 8MB | modemnv | 0x56000 | 0x59fff | 13 | 179 |
| mmcblk0p14 | | | 8MB | modemnv2 | 0x5a000 | 0x5dfff | 14 | 179 |
| mmcblk0p15 | /cache | ext4 | 256MB | cache | 0x5e000 | 0xddfff | 15 | 179 |
| mmcblk0p16 | /system | ext4 | 512MB | system | 0xde000 | 0x1ddfff | 16 | 179 |
| mmcblk0p17 | /cust | ext4 | 512MB | cust | 0x1de000 | 0x2ddfff | 17 | 179 |
| mmcblk0p18 | /tmpdata | ext4 | 16MB | userdata | 0x2de000 | 0x2e5fff | 18 | 179 |
| mmcblk0p19 | | | 16MB | keyfile | 0x2e6000 | 0x2edfff | 19 | 179 |
| mmcblk0p20 | | | 16MB | reserve2 | 0x2ee000 | 0x2f5fff | 20 | 179 |
| mmcblk0p21 | | | 16MB | reserve3 | 0x2f6000 | 0x2fdfff | 21 | 179 |
| mmcblk0p22 | /data | ext4 | 4GB | data | 0x2fe000 | 0x1daffff | 22 | 179 |
| mmcblk0boot0 | | | 2MB | | | | 32 | 179 |
| mmcblk0boot1 | | | 2MB | | | | 64 | 179 |
| mmcblk1 | | | | | | | 96 | 179 |
| mmcblk1p1 | /mnt/sdcard2 | | | | | | 97 | 179 |
| mtdblock0 | | | 4MB | | | | 0 | 31 |
| dm-0 | | | 6MB | | | | 0 | 253 |
| dm-1 | | | 70MB | | | | 1 | 253 |
|-----------------------------------------------------------------------------------------------|
Here is my config:
<Profile name="Huawei MediaPad 10 FHD" author="XXX-Man@4pda.ru">
<Files>
<File type="md5rsa" signature="true">md5rsa.img</File>
<File type="crc" checksum="true">crc.img</File>
<File type="round" partition="/dev/block/mmcblk0p2">round.img</File>
<File type="oeminfo" partition="/dev/block/mmcblk0p6">oeminfo.img</File>
<File type="system" partition="/dev/block/mmcblk0p16">system.img</File>
<File type="cache" partition="/dev/block/mmcblk0p15">cache.img</File>
<File type="logo" partition="/dev/block/mmcblk0p7">logo.img</File>
<File type="cust" partition="/dev/block/mmcblk0p17">cust.img</File>
<File type="userdata" partition="/dev/block/mmcblk0p18">userdata.img</File>
<File type="boot" partition="/dev/block/mmcblk0p11">boot.img</File>
<File type="recovery" partition="/dev/block/mmcblk0p10">recovery.img</File>
</Files>
</Profile>
Is i am right? Please help.
 

Attachments

  • 10fhd.png
    10fhd.png
    54.1 KB · Views: 612

worstenbrood

Senior Member
May 14, 2008
1,069
1,417
OnePlus 7 Pro
Hello. I try to use this utility to unpack MediaPad 10 FHD firmware.
Here is partition table of my device:
| /dev/block | mount | | size | partition | first_lba | last_lba | min | maj |
|-----------------------------------------------------------------------------------------------|
| loop0 | | | 6MB | | | | 0 | 7 |
| loop1 | | | 70MB | | | | 1 | 7 |
| zram0 | | | 200MB | swap | | | 0 | 252 |
| mmcblk0 | | | 15200MB | | | | 0 | 179 |
| mmcblk0p1 | | | 256KB | xloader | 0x100 | 0x2ff | 1 | 179 |
| mmcblk0p2 | | | 3MB | round | 0x300 | 0x1fff | 2 | 179 |
| mmcblk0p3 | | | 4MB | nvme | 0x2000 | 0x3fff | 3 | 179 |
| mmcblk0p4 | /misc | emmc | 4MB | misc | 0x4000 | 0x5fff | 4 | 179 |
| mmcblk0p5 | | | 8MB | splash | 0x6000 | 0x9fff | 5 | 179 |
| mmcblk0p6 | | | 32MB | oeminfo | 0xa000 | 0x19fff | 6 | 179 |
| mmcblk0p7 | | | 12MB | logo | 0x1a000 | 0x1ffff | 7 | 179 |
| mmcblk0p8 | /vrcb | emmc | 4MB | vrcb | 0x20000 | 0x21fff | 8 | 179 |
| mmcblk0p9 | | | 16MB | recovery2 | 0x22000 | 0x29fff | 9 | 179 |
| mmcblk0p10 | /recovery | emmc | 16MB | recovery | 0x2a000 | 0x31fff | 10 | 179 |
| mmcblk0p11 | /boot | emmc | 8MB | boot | 0x32000 | 0x35fff | 11 | 179 |
| mmcblk0p12 | | ext4 | 64MB | modemimage | 0x36000 | 0x55fff | 12 | 179 |
| mmcblk0p13 | | ext4 | 8MB | modemnv | 0x56000 | 0x59fff | 13 | 179 |
| mmcblk0p14 | | | 8MB | modemnv2 | 0x5a000 | 0x5dfff | 14 | 179 |
| mmcblk0p15 | /cache | ext4 | 256MB | cache | 0x5e000 | 0xddfff | 15 | 179 |
| mmcblk0p16 | /system | ext4 | 512MB | system | 0xde000 | 0x1ddfff | 16 | 179 |
| mmcblk0p17 | /cust | ext4 | 512MB | cust | 0x1de000 | 0x2ddfff | 17 | 179 |
| mmcblk0p18 | /tmpdata | ext4 | 16MB | userdata | 0x2de000 | 0x2e5fff | 18 | 179 |
| mmcblk0p19 | | | 16MB | keyfile | 0x2e6000 | 0x2edfff | 19 | 179 |
| mmcblk0p20 | | | 16MB | reserve2 | 0x2ee000 | 0x2f5fff | 20 | 179 |
| mmcblk0p21 | | | 16MB | reserve3 | 0x2f6000 | 0x2fdfff | 21 | 179 |
| mmcblk0p22 | /data | ext4 | 4GB | data | 0x2fe000 | 0x1daffff | 22 | 179 |
| mmcblk0boot0 | | | 2MB | | | | 32 | 179 |
| mmcblk0boot1 | | | 2MB | | | | 64 | 179 |
| mmcblk1 | | | | | | | 96 | 179 |
| mmcblk1p1 | /mnt/sdcard2 | | | | | | 97 | 179 |
| mtdblock0 | | | 4MB | | | | 0 | 31 |
| dm-0 | | | 6MB | | | | 0 | 253 |
| dm-1 | | | 70MB | | | | 1 | 253 |
|-----------------------------------------------------------------------------------------------|
Here is my config:
<Profile name="Huawei MediaPad 10 FHD" author="XXX-Man@4pda.ru">
<Files>
<File type="md5rsa" signature="true">md5rsa.img</File>
<File type="crc" checksum="true">crc.img</File>
<File type="round" partition="/dev/block/mmcblk0p2">round.img</File>
<File type="oeminfo" partition="/dev/block/mmcblk0p6">oeminfo.img</File>
<File type="system" partition="/dev/block/mmcblk0p16">system.img</File>
<File type="cache" partition="/dev/block/mmcblk0p15">cache.img</File>
<File type="logo" partition="/dev/block/mmcblk0p7">logo.img</File>
<File type="cust" partition="/dev/block/mmcblk0p17">cust.img</File>
<File type="userdata" partition="/dev/block/mmcblk0p18">userdata.img</File>
<File type="boot" partition="/dev/block/mmcblk0p11">boot.img</File>
<File type="recovery" partition="/dev/block/mmcblk0p10">recovery.img</File>
</Files>
</Profile>
Is i am right? Please help.

Looks good to me ! Don't have the device tho, but u used the correct way to find out the partitions !
 

worstenbrood

Senior Member
May 14, 2008
1,069
1,417
OnePlus 7 Pro
Looks good to me ! Don't have the device tho, but u used the correct way to find out the partitions !

Well, the files inside the update app that have corresponding partitions on the device can have a partition attribute. This is only used for update zip creation, it actually writes the image to the partition.

Sent from my Nexus 4 using xda app-developers app
 

djking2

Member
Sep 22, 2012
7
0
Hi, worstenbrood

First of all, thanks for your great utility!:good:
I have a problem with repacking APP for Huawei G520-0000.
What I do:
* extract original APP-file using profile Huawei G610-C00, G520-0000, G510, C8813D, C8813
* repack new APP-file from the unpacked images without changing anything
When I try to install a new UPDATE.APP in phone I get error "Update failed"
Here is the content of sd_update.log:
Code:
filename = /mmc1/dload/update.app 
dload_sd_chk_file_data->get_module_from_file failed!

Also, I unpack the new APP-file and compared the resulting images with the original images (after unpacking the original APP-file).
All files are the same, except 01.crc. Apparently, during repacking CRC is considered wrong.

P.S. Original UPDATE.APP file size is 929 199 624 bytes, after repacking is 929 199 622 bytes
 
Last edited:

worstenbrood

Senior Member
May 14, 2008
1,069
1,417
OnePlus 7 Pro
Hi, worstenbrood

First of all, thanks for your great utility!:good:
I have a problem with repacking APP for Huawei G520-0000.
What I do:
* extract original APP-file using profile Huawei G610-C00, G520-0000, G510, C8813D, C8813
* repack new APP-file from the unpacked images without changing anything
When I try to install a new UPDATE.APP in phone I get error "Update failed"
Here is the content of sd_update.log:
Code:
filename = /mmc1/dload/update.app 
dload_sd_chk_file_data->get_module_from_file failed!

Also, I unpack the new APP-file and compared the resulting images with the original images (after unpacking the original APP-file).
All files are the same, except 01.crc. Apparently, during repacking CRC is considered wrong.

P.S. Original UPDATE.APP file size is 929 199 624 bytes, after repacking is 929 199 622 bytes

Thanks for the report dude, appreciate it. (i don't own a huawei phone). I fixed the issue with the two bytes, (small error in writing remainder code) so sizes should be the same now. Also, sort the file list on filename (ascending) before repacking. The files will be written to the update app file based on how they are sorted in the list. Try the latest version and the original and repacked file should be identical (don't set a signature file, original signature file wile be used then).

The reason why the crc differs is probably because the file order in the repacked file is not the same as in the original file (crc file is calculated based on the order of the files).

Let me know the results !
 

djking2

Member
Sep 22, 2012
7
0
Thank you for your quick response! It's really important to me now!:good:
I tried to repack UPDATE.APP with the new version of your utility. Now repacked file size identical to the original, but CRC still different. I attached to the post the original CRC and repacked CRC.
Later I will upload original UPDATE.APP, that you tried to repack it by yourself.

UPD
------
WOW! Now I restarted utility and again repacked the original UPDATE.APP.
Now original and repacked files are ABSOLUTELY IDENTICAL!
Now I'll try to build APP with the modified images and install it to phone.

UPD2
--------
Now I have new error after trying to install APP with modified images (sd_update.log):
Code:
filename = /mmc1/dload/update.app 
CRC fail.
MD5_RSA,is_rx_finish=0,is_operate_succ=1,current_operate=0
call first dload_machine failed,module = CRC
CMD=0xf,moduleaddr = 0xffe0e0e0, len_tmp=0x8000
filename = /mmc1/dload/update.app 
call RCV_MODULE_END_EVENT failed,module = CRC
CMD=0xf,moduleaddr = 0xe8000000, len_tmp=0x42e
 

Attachments

  • huawei_g520_crc.7z
    53.3 KB · Views: 394
Last edited:

worstenbrood

Senior Member
May 14, 2008
1,069
1,417
OnePlus 7 Pro
Thank you for your quick response! It's really important to me now!:good:
I tried to repack UPDATE.APP with the new version of your utility. Now repacked file size identical to the original, but CRC still different. I attached to the post the original CRC and repacked CRC.
Later I will upload original UPDATE.APP, that you tried to repack it by yourself.

UPD
------
WOW! Now I restarted utility and again repacked the original UPDATE.APP.
Now original and repacked files are ABSOLUTELY IDENTICAL!
Now I'll try to build APP with the modified images and install it to phone.

UPD2
--------
Now I have new error after trying to install APP with modified images (sd_update.log):
Code:
filename = /mmc1/dload/update.app 
CRC fail.
MD5_RSA,is_rx_finish=0,is_operate_succ=1,current_operate=0
call first dload_machine failed,module = CRC
CMD=0xf,moduleaddr = 0xffe0e0e0, len_tmp=0x8000
filename = /mmc1/dload/update.app 
call RCV_MODULE_END_EVENT failed,module = CRC
CMD=0xf,moduleaddr = 0xe8000000, len_tmp=0x42e

Thats prolly because the signature file is not valid. Thats the only thing we still need, the original rsa private key or a patched bootloader with a modified public key (where we have the private key for ofcourse).
 
  • Like
Reactions: eseregin

worstenbrood

Senior Member
May 14, 2008
1,069
1,417
OnePlus 7 Pro
here we come:
https://drive.google.com/folderview?id=0Byx5djvrewoHbkhOMXZocVpUQlE&usp=sharing

+ Android magic word not found in offset 0, it placed in offset 2048. So first 2048 byte is additional header
+ what i found is
- byte 128 to 255 is different among each image. 128 byte
- byte 517 is different too. 1 byte
- byte 536 to 555 is different too. 20 byte

Thank's for your help

I guess it some header which contains a signature (where we prolly need the huawei private rsa key for). I added detection for the header and the data behind it in magic.mgc, which will be included in the next version. Then at least it shows what kinda file it is (the header is also there in the P6 fastboot, recovery and boot image).
 
  • Like
Reactions: halman and goktahan

mrzm2006

Member
Mar 31, 2010
12
0
Huawei udate extractor open box problem

Hi,

I use laptop windows 7 32 bit.and connecting external monitor with vga port because my laptop Lcd was broke. I can't see open ( ... ) button any version of huawei update extractor. Why?

deleting user.config on the following path can't solve my problem.

C:\Users\user\AppData\Local\worstenbrood\HuaweiUpdateExtractor.exe_Url_jtzcfmjsway1gp2ip2gijvh5hdpblf0r\0.9.7.7

also changing this value can't solve my problem
</setting>
<setting name="WindowSize" serializeAs="String">
<value>1036, 780</value>
</setting>

Expert help me my problem. ( Dotnet already install . Perl already install . )
 

worstenbrood

Senior Member
May 14, 2008
1,069
1,417
OnePlus 7 Pro
Hi,

I use laptop windows 7 32 bit.and connecting external monitor with vga port because my laptop Lcd was broke. I can't see open ( ... ) button any version of huawei update extractor. Why?

deleting user.config on the following path can't solve my problem.

C:\Users\user\AppData\Local\worstenbrood\HuaweiUpdateExtractor.exe_Url_jtzcfmjsway1gp2ip2gijvh5hdpblf0r\0.9.7.7

also changing this value can't solve my problem
</setting>
<setting name="WindowSize" serializeAs="String">
<value>1036, 780</value>
</setting>

Expert help me my problem. ( Dotnet already install . Perl already install . )

This issue was reported a few times now but i couldn't reproduce it. Gonna attach an external monitor and see if i can reproduce it. Could you take a screenshot btw ?
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 255
    Huawei Update Extractor

    After messing around a bit with the perl tools available for extracting Huawei update.app files,
    i got the idea to create an own (windows) tool.

    Requirements

    (All versions <= v0.9.9.3 need .Net Framework 3.5)
    Latest version uses .Net Framework 4.6.1

    Install

    Extract the content of the zip to a folder somewhere on your system.
    Execute HuaweiUpdateExtractor.exe
    I'm planning to create an installer sometime.

    Usage

    Press the browse (...) button and select an update.app file. Select a device or unknown and press on the open button.
    You'll see the content of the update.app file in the listview.

    Select one or more files and right click. Choose Extract selected from the context menu.
    Choose the ouput folder and press ok.
    Or just right click on the list and select Extract all, choose the output folder again and press ok.
    Press close on the extract window.

    You can sort the list on sequence, filename and size. Just press on the desired column header.

    Command line:

    HuaweiUpdateExtractor extract input output [profile]
    HuaweiUpdateExtractor repack input output profile

    Profile

    The profiles.xml file is used to identify the files in the update.app file. Every file in the update.app has a sequence or type, which is also
    shown in the list. Those sequences or types are used to identify the file/device partition.

    Example:

    Code:
    <?xml version="1.0"?>
    <Profiles>
        <Profile name="Unknown" author="worstenbrood">
            <Files/>
        </Profile>
        <Profile name="Huawei G510-0100" author="worstenbrood">
            <Files>
                <File sequence="00000000" partition="/dev/block/mmcblk0p17">system.img</File>
                <File sequence="40000000" partition="/dev/block/mmcblk0p13">recovery.img</File>
                <File sequence="80000000" partition="/dev/block/mmcblk0p03">baseband.img</File>
                <File sequence="EC000000">version.txt</File>
                <File sequence="E4000000">splash.raw565</File>
                <File sequence="FC000000" partition="/dev/block/mmcblk0p12">boot.img</File>
                <File sequence="70000000" partition="/dev/block/mmcblk0p16">cust.img</File>
                <File sequence="30000000" partition="/dev/block/mmcblk0p18">userdata.img</File>
                <File sequence="FE000000" filetype="signature">signature</File>
                <File sequence="FF000000" filetype="checksum">crc</File>
            </Files>
        </Profile>
        <Profile name="Huawei P6" author="worstenbrood">
            <Files>
                <File type="system" partition="/dev/block/mmcblk0p16">system.img</File>
                <File type="cache" partition="/dev/block/mmcblk0p17">cache.img</File>
                <File type="cust" partition="/dev/block/mmcblk0p18">cust.img</File>
                <File type="userdata" partition="/dev/block/mmcblk0p19">userdata.img</File>
                <File type="modemimage" partition="/dev/block/mmcblk0p13">modemimage.img</File>
                <File type="boot" partition="/dev/block/mmcblk0p12">boot.img</File>
                <File type="recovery" partition="/dev/block/mmcblk0p11">recovery.img</File>
                <File type="md5rsa" filetype="signature">signature</File>
                <File type="crc" filetype="checksum">crc</File>
            </Files>
        </Profile>
    </Profiles>

    <Profiles>
    - Root tag of the xml file.

    <Profile>
    - Identifies a device
    - attribute name: name of the device
    - attribute author: author of the device

    <Files>
    - File root tag

    <File>
    - Identifies a file
    - attribute sequence: sequence of the file in update.app
    - attribute type: type of the file in the update.app
    - attribute partition: destination partition on the device
    - attribute filetype: can be one of the following values:
    * signature: used to identify the signature file
    * checksum: used to identify the checksum file
    - value: file name

    You can add or edit devices. If you want them to integrate in newer version, pm 'em to me.
    I'm gonna make some auto update for the device file somewhere in the future :)

    To add your devices profile you'll have to identify your device partitions and map them against the files inside the update.app.
    Thread about identifying partitions: http://xdaforums.com/showthread.php?t=1959445

    Roadmap

    - You tell me ...

    Credits

    ZeBadger (zebadger@hotmail.com) for figuring out the file headers
    S34Qu4K3 for the P6 partition layout
    ngamyarthar for adding ALOT of devices!

    Changelog

    v0.9.1.0
    - Create update zip works now, this requires to have a PERFECT device entry in the devices file. The sequence is used to identify the file AND partition. Only files that have these two will be included in the zip. USE WITH CAUTION, MAKE SURE THE PARTITION IS CORRECT OR YOU'LL END UP FLASHING THE WRONG IMAGES TO THE WRONG PARTITION !! I'M NOT RESPONSABLE FOR BRICKING YOUR DEVICE! IF YOU DON'T KNOW WHAT YOU'RE DOING, THEN DON'T USE IT!

    v0.9.1.1
    - Added Type to the filelist (shows INPUT for g510 roms, but shows some useful info on P6 roms)

    v0.9.2.0
    - Files now can also be identified by the type attribute in devices.xml
    - Added P6 device

    v0.9.3.0
    - Crc check during extract
    - Crc check during creating flashable zip
    - Added row to see file is flashable

    v0.9.5.0
    - Added repack
    - Added icons and tooltip
    - Added settings
    - Experimental, no signing on repack, crc file gets generated
    - Alot of stuff i forgot

    v0.9.6.0
    - Added command line options

    v0.9.7.0
    - Added G300 profile (thx ZeBadger)
    - Added detailed info about the file (libmagic) in the tooltip on the extract list. This way it is easier to identify files inside the update.
    (see screenshot). It will detect ext/fat/... partitions.

    v0.9.7.1
    - Alot of devices added in profiles (Credits to ngamyarthar, thanks alot dude!)
    - Added android boot/recovery image recognition in magic.mgc

    v0.9.7.2
    - Made setup

    -v0.9.7.4
    - App will now remember last used profile.
    - Fixed bug in repack code (remainder writing)
    - Added signing options (During repack, once set, it will use the selected keyfile (PEM format) and algorithm to create the signature file. If there is no file selected or the file doesn't exist, it will use the existing signature file.)

    Example of keyfile content:

    Code:
    -----BEGIN RSA PRIVATE KEY-----
    MIICXgIBAAKBgQDU9GF9tdk59edEXWX4MEJNjMqGce/CqqGZSDBwnAzHITZYBm+y
    ZEVkaOGGdPY7rmmWO6w3P/+nPVHO0kxA1/J+FY+sbUF7uz0kzVDxuW6t5KDc9Qr4
    NRAE1ZzX0eB0aYpLImlqI7yigih6ds+Yp83mTbF+BiaFTLLtMVdWS7wQiwIDAQAB
    AoGBAMok2E4+Sl9sfwU0K1E2bhmzJaQNj2wYEKGyFtkuKCr16eIQ6gJKkFxJ+ppp
    eDsaynujVUx04bbczEUo9t0un603s5HAGq6USO5flERco0TlNw7xnTornPPrNxfU
    sXOtIGzb0FlRuC129JqZJ9QsfvOyt3KIWwmJqc0R/k0xB8uRAkEA9+v1ohNXB8CL
    plhQOtq0ueWrf9CCCeiqhf6ijg7UEegMLGKZ2gFMvMNwuojz/pbQmHdWTU9eC0k1
    3yiAwHtcLQJBANvkvjXdzCYHO6nWOH1vf8DRLwCnwEteyxJ2qnrqKLS3fxCjWN4h
    4vSNqgC9uoLEb/6T/72XTdG9gS8GsuoAupcCQBZ4eIb8IcM+HGozTvJGqGLBAk5P
    Y7nqMKp8bddaWLZWxeOv/CnaPE5PmIQPra3BlZ58EoJnUyrKs+tKDIFlrPECQQC9
    Ie0cxc4e81+0/+WMtkdq4EGOTbsO2NTP57NQj3E9pwqqk+UPApSEBgkwJAB1E2LE
    1CVGvAoaGeYwPZHLxZ63AkEAugR+cC+5/BtTeMeXEcijnU0qkgkwLCMgTB1DIoMm
    X0/wRGPPmZpGmMStHd+87ZxQSOiq5nAyZ4riFXLziUNOlA==
    -----END RSA PRIVATE KEY-----

    -v0.9.7.5
    - Default sorting on filename
    - Small changes in structure of profiles.xml

    -v0.9.7.6
    - Added progress for signing and checksum generation
    - Extract/CreateZip order by offset
    - Repack order by Signature, Checksum, Files

    -v0.9.7.7
    - Doubleclick on item in extract files listview copies tooltip text to clipboard
    - Added detailed android boot/recovery image detection to magic.mgc
    - Added SecVRL header (the 2048 byte header in front of fastboot/boot/recovery image) detection

    -v0.9.7.8
    - Added timestamp options in settings
    - Added tooltips in settings
    - Some ui changes (which hopefully fix the missing "..." button issue)

    -v0.9.7.9
    - Some small ui fixes
    - When saved location of the app is on a monitor that isn't attached anymore, app location is restored to center of primary screen.

    -v0.9.8.0
    - Some small ui changes
    - Sort profiles by name
    - Remember last used directory
    - Added profile for Huawei G526 (Credits Roman Dmitriev)

    -v0.9.9.0
    - Added compatibility for wine/mono
    - Fixed bug in settings (Verify header checksum)
    - Made the app localizable (Download the Resources_EN example, if you make a translation, make sure that your assembly start with "Resources_" and ends with the TwoLetterISOLanguageName (eg. EN for english) of your culture and put the assembly in the same directory as the application)
    - Added profile for Huawei Ascend Mate 7 (Thanks to sketchykingy)

    -v0.9.9.1
    - Added missing translatable resources (updated Resources_EN)
    - Added profile for Huawei MediaPad X1 7.0 (7D-503L) (Credits ElectroMyStyle)

    -v0.9.9.2
    - Fixed int overflow (extracting big files)

    -v0.9.9.3
    - Added drag/drop for files and folders.

    -v0.9.9.5 - 12/12/2016
    - Upgraded to .Net Framework 4.6.1
    - Fixed libmagic calling convention
    - Huawei Mediapad M2 8.0 (M2-802L) profile by @beast.in.black
    - Huawei Ascend P8 (GRA-L09) profile by @nexolight
    - Huawei Mate S profile by @philipp900
    - Huawei P8 lite profile by @linus2014
    - Huawei Honor 5x (Kiwi-L2X) profile by @deadman96385

    26122015

    Created an opensource c# library to work with update.app files:
    https://github.com/worstenbrood/HuaweiUpdateLibrary

    Enjoy

    Download

    - v0.9.9.3: Setup - Zip
    - v0.9.9.5: Zip

    Mirror

    Donate if you like my work.
    7
    Huawei Update Extractor [UPDATED: v0.9.9.4]

    Huawei Update Extractor [UPDATED: v0.9.9.4]

    I have Added Huawei P8 lite profile.
    6
    Is it possible to repack update.app?

    If so, could you implemet such feature? :)

    Since i almost finished update zip creation (new version tomorrow), i have put it on the roadmap (already thought about it anyway :))
    5
    not sure if it has been mentioned but it would be a great feature to drag the update.app into the programs window to open it

    Latest version has drag/drop for files and directories, files for update.app files, directories for repacking.
    4
    Next version will have a repack function included, i'm adjusting the UI but most of the repacking code is already written.