• Announcements

    • Reminder - MoDaCo position on illegal content

      ILLEGAL CONTENT I'd like to just reaffirm MoDaCo's position regarding piracy and illegal content in the light of some recent questions / postings. Posts will be censored by myself or my moderation team if the contain or link to: Illegal / pirated / cracked software or sites that host such software
      Nintendo emulators / ROMs or sites hosting them (in light of Nintendo's legal stance)


      CUSTOM ROMS

      You may discuss and post links to custom device ROMs on MoDaCo, provided the following rules are adhered to: ROMs must not be hosted directly in topic via the MoDaCo attachment system
      ROMs must not contain any illegal 3rd party software (this includes trial versions included without permission)
      ROMs must give full credit to the original author
      This decision has been taken in light of the huge amount of interest in this area of device customisation within the community, and member feedback! Please note that custom ROM discussion should be kept in specific device sub-areas, (e.g. Kaiser.MoDaCo.com for Kaiser based devices). ISSUES If you have any issues with this policy, please contact me directly via PM. P
    • Support MoDaCo by signing up to a MoDaCo Silver or Gold membership

      To sign up to an annual MoDaCo Silver subscription which will eliminate all ads from the site (as well as giving you access to the MoDaCo Online Kitchens for Android) for only £9.99 using PayPal, Credit or Debit Card, ensure you are logged in to the site, and then click the link below, which will take you directly to the subscription store! You can also sign up to an annual MoDaCo Gold subscription for £29.99, which adds the benefits listed below! PURCHASE A MODACO SUBSCRIPTION - FREE Titanium Backup Mobile for Android worth $5.99! - FREE 1 year PrivateInternetAccess.com worth $39.95! - FREE 1 year LastPass Premium worth $12! - FREE CalcConvert for Pocket PC from Binaryfish worth $17.95! - FREE Calendar Bar for Pocket PC from OmegaOne worth $9.99! - FREE CamerAware for Pocket PC and Smartphone from MoDaCo worth £19.99 / $30! - FREE Chronos for Pocket PC from ActiveKitten worth $14.95! - FREE CodeWallet Pro for Smartphone and Pocket PC from DeveloperOne worth up to $24.95! - FREE Concentrix for Pocket PC from eSoft Interactive worth $9.95! - FREE FlexMail for Pocket PC and Smartphone from WebIS worth up to $59.90! - FREE FTouchSL for Pocket PC from Vekoff s.r.o. worth 10 euro / $12.50! - FREE Jewel Challenge for Pocket PC from eSoft Interactive worth $9.95! - FREE John Cody's Alerts Pro for Smartphone from Omnisoft worth $14.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Dutch for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> French for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> German for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Italian for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Spanish for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Dutch for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> French for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> German for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Russian for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Turkish for Smartphone from Lingvosoft worth $49.95! - FREE Note2Self for Pocket PC and Smartphone from WebIS worth up to $19.90! - FREE Opera 8.60 for Pocket PC and Smartphone from Opera Software worth up to $48! - FREE Pocket Informant for Pocket PC and Smartphone from WebIS worth up to $59.90! - FREE Pocket Launcher for Pocket PC and Smartphone from Conduits worth $9.95! - FREE PTab for Pocket PC and Smartphone from z4soft worth up to $60! - FREE Resco Explorer for Pocket PC and Smartphone from Resco worth up to $49.90! - FREE Safemode for Pocket PC from monocube worth $12.95 - FREE SplashPhoto for Pocket PC and Smartphone from SplashData worth up to $59.90! - FREE Sprite Backup for Pocket PC and Smartphone from Sprite Software worth $29.95! - FREE Teksoft Glyphs UI for Pocket PC and Smartphone from Teksoft €9.95! - FREE Teksoft HeadsetRemote for Pocket PC and Smartphone from Teksoft €4.95! - FREE Traffic Jam for Pocket PC from eSoft Interactive worth $9.95! - FREE unlock (1 per year) from imei-check.co.uk - DISCOUNT of 10% at MoDaCo FairDeal - DISCOUNT of 10% at Semsons.com - FORUM - AD FREE SITE - FORUM - custom rank / title - FORUM - double competition entries - FORUM - double post attachment space - FORUM - no search flood control - FORUM - priority event registration - FORUM - triple PM space
    • Reminder: Selling items on the forum directly is not allowed

      Please note that selling items on the forum directly is not allowed by the forum rules. There is a forum for eBay auctions whereby you can list the items on eBay and link to them there. This is the ONLY forum for this type of activity. You may also advertise links to the eBay forum in your signature. Please note that selling directly in contravention of these rules will result in a warning / suspensions / ban.

Perl script for unpacking the 'updata.app' files.

24 posts in this topic

Posted (edited) · Report post

I've created a simple Perl script to unpack the contents of the UPDATA.APP files. So far all of the updates that T-Mobile and Huawei have produced for the Pulse are in the form of an UPDATA.APP file and this script will extract the boot, recovery and system images from that package. This is only useful if you wish to use parts of an update to cook your own customised rom.

split_updata.pl.txt The webserver wouldn't allow me to upload a .pl script so I've given it a .txt file extension. You'll have to rename it to just split_updata.pl

Useage: perl split_updata.pl updata.app

It will extract 25 files. Some of them are obvious, like the boot and system images, but there are many I don't recognise. For the time-being I've used a .mbn file extension for the unknown files because I think they might be appsboot.mbn, oemspl.mbn, amss.mbn and such-like. If you compile the CodeAurora AOSP code you'll notice it produces appsboot.mbn and appsboothd.mbn alongside the boot and system images. I don't know what they are but they have similarities with some of the files in the UPDATA.APP package.

I don't often use Perl so I'm sure there are better ways to script this. You are more than welcome to make improvements. And it would be great if we can identify what each file does.

Note: This script will only unpack the file. Repackaging it would be very tricky because it contains checksums that would have to match.

*** UPDATE ***

There is now a much improved version of this script over in this thread. Please use that version as it's far more stable and robust. Full kudos to ZeBadger and all those involved in enhancing it.

Edited by McSpoon
0

Share this post


Link to post
Share on other sites

Posted · Report post

How did you find the format of this file? Guesswork?

0

Share this post


Link to post
Share on other sites

Posted · Report post

How did you find the format of this file? Guesswork?

Yep, just guesswork from looking at it in a hex editor. I noticed many recurrences of a "HWU8220" string. Each occurrence is surrounded by 92 bytes that are almost identical except a few bytes change each time. The bytes that differ turn out to be the offset to the where an embedded file starts, and it's length. From that we can extract the files.

Each section goes like this...

Offset	Length	Description

0x00	4	Always the same identifier 0x55AA5AA5.

0x04	4	The length of this data section.

0x08	4	Always 1.

0x0C	8	The string "HWU8220" followed by 0xFF.

0x14	4	The file length.

...By this stage, we already know the length of the data section (so we can skip the rest of it and go straight to the part where the file starts) and the file length.  I haven't bothered to dissect the rest of the section.  It mostly seems to be strings containing the date, the version number, the word "INPUT" and a random length of data which I'm guessing is a checksum.

I'm certain that checksums exist because, within the file is the T-Mobile splash image you see at boot-up, and I tried changing that to a different one (as it will always be 307200 bytes in length) but it wouldn't install the update. It knew the file was inconsistent and rejected it. So we're stuck with the T-Mobile logo for now. :)

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

do i have to run it as a simple command in command line?

Got the lastest Rom somebody founds on huawei, but dont know how to use your script :)

Do both files have to be in the same folder?

Edited by Basher52
0

Share this post


Link to post
Share on other sites

Posted · Report post

I've created a simple Perl script to unpack the contents of the UPDATA.APP files. So far all of the updates that T-Mobile and Huawei have produced for the Pulse are in the form of an UPDATA.APP file and this script will extract the boot, recovery and system images from that package. This is only useful if you wish to use parts of an update to cook your own customised rom.

split_updata.pl.txt The webserver wouldn't allow me to upload a .pl script so I've given it a .txt file extension. You'll have to rename it to just split_updata.pl

Useage: perl split_updata.pl updata.app

It will extract 25 files. Some of them are obvious, like the boot and system images, but there are many I don't recognise. For the time-being I've used a .mbn file extension for the unknown files because I think they might be appsboot.mbn, oemspl.mbn, amss.mbn and such-like. If you compile the CodeAurora AOSP code you'll notice it produces appsboot.mbn and appsboothd.mbn alongside the boot and system images. I don't know what they are but they have similarities with some of the files in the UPDATA.APP package.

I don't often use Perl so I'm sure there are better ways to script this. You are more than welcome to make improvements. And it would be great if we can identify what each file does.

Note: This script will only unpack the file. Repackaging it would be very tricky because it contains checksums that would have to match.

man do you have CHT8000 rom?

0

Share this post


Link to post
Share on other sites

Posted · Report post

Thanks man

0

Share this post


Link to post
Share on other sites

Posted · Report post

Has there been any progress on working out where the checksums are? I'm thinking of having a bash, but if anyone has any more information then that would be appreciated.

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

Has there been any progress on working out where the checksums are? I'm thinking of having a bash, but if anyone has any more information then that would be appreciated.

Okay... I have no idea how far people have gone with all this, so I've just started from scratch.

I've dumped the december update using this script.

boot.img contains a ROMFS file and a CPIO image of the filesystem.

recovery.img contains an identical ROMFS file and a CPIO image of the filesystem with a few more bits and bobs.

I have found the checksums for these files in the UPDATA.APP file. eg "18 89 db e0" is the boot CPIO image checksum (reversed) and is at offset 0145c38A

Is this of any use to anyone? Got to go to bed, but I can work on adding more to the file format tomorrow. I'm guessing that we can remove that horrible pink t-mobile logo :)

ZeBadger

PS Checksum of the dumped splash image is : 69FD5EC9 (C9 5E FD 69 reversed), in both the UPDATA.APP files I've looked at, but I can't find it in the UPDATA.APP file :)

Edited by ZeBadger
0

Share this post


Link to post
Share on other sites

Posted · Report post

I have found the checksums for these files in the UPDATA.APP file. eg "18 89 db e0" is the boot CPIO image checksum (reversed) and is at offset 0145c38A

Okay, while getting ready for work this morning I've realised that these CRCs are part of the gzip in the img files and not part of the UPDATA.APP file. I'll keep working on it!

0

Share this post


Link to post
Share on other sites

Posted · Report post

Hi,

This script is not working correctly to me, is there is any other tool to extract UPDATE.APP...

Thanks in Advance....:D

0

Share this post


Link to post
Share on other sites

Posted · Report post

Hi,

This script is not working correctly to me, is there is any other tool to extract UPDATE.APP...

Thanks in Advance....:D

Yes, the new script. It's in the "Repacking UPDATA.APP" thread...

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

Yes, the new script. It's in the "Repacking UPDATA.APP" thread...

Thanks for your replay......i will check that post......

Edited by sreeramu
0

Share this post


Link to post
Share on other sites

Posted · Report post

Thanks for your replay......i will check that post......

Wait - do you have a Pulse or an HTC Touch 3G (whatever that is)?

This only works for T-Mobile Pulse UPDATA.APP's.

0

Share this post


Link to post
Share on other sites

Posted · Report post

I've also produced a windows program which will extract the contents of UPDATA.APPs, but it has the same restrictions as the perl script.

0

Share this post


Link to post
Share on other sites

Posted · Report post

I've also produced a windows program which will extract the contents of UPDATA.APPs, but it has the same restrictions as the perl script.

Can i Know the Restriction ... in the latest perl script we need linux system ....

what is the restriction you are telling about....

0

Share this post


Link to post
Share on other sites

Posted · Report post

Can i Know the Restriction ... in the latest perl script we need linux system ....

what is the restriction you are telling about....

Won't it work with ActivePerl for Windows?

0

Share this post


Link to post
Share on other sites

Posted · Report post

Can i Know the Restriction ... in the latest perl script we need linux system ....

what is the restriction you are telling about....

As stated above - It will only work for T-Mobile Pulse UPDATA.APP's.
0

Share this post


Link to post
Share on other sites

Posted · Report post

Thanks For All your replays , i used ubuntu and extracted the UPDATE.APP with latest perl script...thanks once again....

0

Share this post


Link to post
Share on other sites

Posted · Report post

Hello there! I'm looking for the boot.img of my phone, bacause I'va flashed the boot image with a wrong one (I have U8220-6), so what I did is download my rom and unzip it.

Inside there was the UPDATA.APP so I used your script. I have extracted the files successfully. But the problem is here: The boot.img is only 40 B. I tried to flash it but it is too small (it should be around 1 MB).

Maybe one of the other files is the boot image. Do you know something?

Thanks!

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

Hello there! I'm looking for the boot.img of my phone, bacause I'va flashed the boot image with a wrong one (I have U8220-6), so what I did is download my rom and unzip it.

Inside there was the UPDATA.APP so I used your script. I have extracted the files successfully. But the problem is here: The boot.img is only 40 B. I tried to flash it but it is too small (it should be around 1 MB).

Maybe one of the other files is the boot image. Do you know something?

Thanks!

The script linked to in the first post on this topic unpacks the correct filenames... you also need the crc binary downloaded to the same location. It only works on Linux... if you remove the crc checking it'll work on anything running perl.

Edited by ZeBadger
0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

**** SD download log ****

Failure: OEMSBL version unmatched.

Failure: operation did not succeed.

Failure: operation did not succeed.

Failure: operation did not succeed.

Failure: operation did not succeed.

Failure: operation did not succeed.

dload_sd_ram_data_proc->(retry >= DLOAD_RETRY) failed!

YES.

Using the Perl script method, as work around to flash with CWM recovery works.

But however, my U8220 was 1.5 ROM partition size, still have small /system ~85mb and large /data ~105mb, which UK 2.1 stock ROM changed size.

this still do not resolve all my issues.

James

Edited by James Kei
0

Share this post


Link to post
Share on other sites

Posted · Report post

Great work.. It works with U8100 Canada Wind Update.APP

0

Share this post


Link to post
Share on other sites

Posted · Report post

Look Look......

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

MoDaCo is part of the MoDaCo.network, © Paul O'Brien 2002-2015. MoDaCo uses IntelliTxt technology.