[TOOL] Blob tools (Unpack/Repack)

Search This thread

rayman

Senior Recognized Developer
May 1, 2008
278
1,399
Hey guys

Here are the tools used for the new root by Bumble-Bee & me!

https://github.com/AndroidRoot/BlobTools

The tools can unpack and repack blobs. Since the blob header is still not fully understood, repacking requires the original header from an existing blob file!

It is able to pack any number of partitions in a single blob (given it fits in the staging partition of course..around 500MB is the limit). The tool should be selfexplanatory from the output it gives if run without parameters, but I'll be happy to elaborate if needed.

Enjoy!

-RaYmAn
 

rayman

Senior Recognized Developer
May 1, 2008
278
1,399
I'm trying to use this tool, but i need instruction :eek::eek:
heh. Fair enough :)
First compile the tool (obviously)

[TO UNPACK]
Code:
./blobunpack /path/to/blob

This creates a number of files, in particular a blobname.HEADER file which contains the header of the blob (As mentioned in previous post). The remaining files are named the same as the partitions on the device, e.g. blob.LNX (boot.img) or blob.SOS (Recovery) or even blob.APP (system.img)

[TO PACK]
You need the blobname.HEADER file from the unpack step at this point.
If you want to make a blob with e.g. just boot.img you do the following:
Code:
./blobpack blobname.HEADER outputfile LNX boot.img

The above commands places the boot.img in the LNX partition using the previously extracted HEADER and creates a blob in "outputfile" ready to flash =P

If you wanted to create a blob with boot.img and recovery, you'd do
Code:
./blobpack blobname.HEADER outputfile LNX boot.img SOS recovery.img


I hope this helps :)
 

Fab985

Retired Recognized Developer
Jun 3, 2008
810
174
Thanks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Nice work, thank you for the instructions :):):):)
i've successfully unpacked the rom now :D
 

kevcube

Member
Feb 23, 2010
15
1
It kinda just makes unexplained files, can we have any sort of tutorial as to how we might go about extracting them?
 
  • Like
Reactions: ijustknow

rayman

Senior Recognized Developer
May 1, 2008
278
1,399
It kinda just makes unexplained files, can we have any sort of tutorial as to how we might go about extracting them?

  • blob.HEADER - Header stuff (ignore it)
  • blob.APP - system.img
  • blob.LNX - boot.img
  • blob.SOS - recovery.img (e.g. regular boot.img)
  • blob.EBT - bootloader.bin (ignore)

The system.img is ext4 and can be mounted as a loop fs in linux.
The rest of the files..well..If you don't know how to extract them, you have no use of these blob tools ;) (*hint* http://github.com/AndroidRoot/BootTools)
 

kevcube

Member
Feb 23, 2010
15
1
Well that was kinda embarassing. I didn't feel like booting into ubuntu so I compiled and ran those tools in cygwin, and I didn't read the entirety of your explanation post.

To think I'm one of those people who gets really angry when I see others make that mistake..

Edit - just so you know I wasn't asking what to do with the source code, or how to get a blob. I just needed to know that whole ext4 image thing, and how it related to the blob.APP stuff.
 
Last edited:

ivan.volosyuk

Senior Member
Dec 12, 2010
127
42
Great thanks for the utility! I've just moved from TW SKU to US flashing LNX and APP from clockworkmod/adb.
 

Blades

Senior Member
Aug 11, 2008
722
215
So it seems the header (at least by terms of mdsum, not hex) changed for the 3.1 update.. Also 'unblobs' and has a blob.PT file, as in.. partition table..

LNX, EBT, SOS, APP, GP1, USP, MSC, CAC, PER, YTU, UDA, GPT, PT, BAK,

they also have some HSPA+ additions for their 3G/GSM model
 
Last edited:

rayman

Senior Recognized Developer
May 1, 2008
278
1,399
So it seems the header (at least by terms of mdsum, not hex) changed for the 3.1 update.. Also 'unblobs' and has a blob.PT file, as in.. partition table..

LNX, EBT, SOS, APP, GP1, USP, MSC, CAC, PER, YTU, UDA, GPT, PT, BAK,

they also have some HSPA+ additions for their 3G/GSM model

So when you say the header has changed, you simply mean it's md5sum has changed? That's expected as the header is not neccessarily static. As long as the *format* of the header is the same, everything is good =P

The previous (full) updates also had a blob.PT containing all those partitions. Most of them are generated/maintained automatically by the bootloader however...
 
  • Like
Reactions: bodivas

Top Liked Posts

  • There are no posts matching your filters.
  • 30
    Hey guys

    Here are the tools used for the new root by Bumble-Bee & me!

    https://github.com/AndroidRoot/BlobTools

    The tools can unpack and repack blobs. Since the blob header is still not fully understood, repacking requires the original header from an existing blob file!

    It is able to pack any number of partitions in a single blob (given it fits in the staging partition of course..around 500MB is the limit). The tool should be selfexplanatory from the output it gives if run without parameters, but I'll be happy to elaborate if needed.

    Enjoy!

    -RaYmAn
    11
    Hey guys

    Here are the tools used for the new root by Bumble-Bee & me!

    https://github.com/AndroidRoot/BlobTools

    -RaYmAn

    I have updated the code to support unpacking of blobs from the Transformer Prime that includes the signature block (backward compatible with no signature).

    I have also updated the packing to to add that signature back in (pass the -s param). This may potentially be useful once the bootloader is unlocked, if we still need the signature on it in order for it to flash.

    I have attached windows executables as well as the updated source and source built with a Visual Studio project.

    rayman84, feel free to incorporate this modified code into your git repo.
    2
    I'm trying to use this tool, but i need instruction :eek::eek:
    heh. Fair enough :)
    First compile the tool (obviously)

    [TO UNPACK]
    Code:
    ./blobunpack /path/to/blob

    This creates a number of files, in particular a blobname.HEADER file which contains the header of the blob (As mentioned in previous post). The remaining files are named the same as the partitions on the device, e.g. blob.LNX (boot.img) or blob.SOS (Recovery) or even blob.APP (system.img)

    [TO PACK]
    You need the blobname.HEADER file from the unpack step at this point.
    If you want to make a blob with e.g. just boot.img you do the following:
    Code:
    ./blobpack blobname.HEADER outputfile LNX boot.img

    The above commands places the boot.img in the LNX partition using the previously extracted HEADER and creates a blob in "outputfile" ready to flash =P

    If you wanted to create a blob with boot.img and recovery, you'd do
    Code:
    ./blobpack blobname.HEADER outputfile LNX boot.img SOS recovery.img


    I hope this helps :)
    2
    http://xdaforums.com/showthread.php?t=2012033

    found this.. the 2 programs used by the gui run fine from cmd.,exe shell prompt,
    2
    It kinda just makes unexplained files, can we have any sort of tutorial as to how we might go about extracting them?

    • blob.HEADER - Header stuff (ignore it)
    • blob.APP - system.img
    • blob.LNX - boot.img
    • blob.SOS - recovery.img (e.g. regular boot.img)
    • blob.EBT - bootloader.bin (ignore)

    The system.img is ext4 and can be mounted as a loop fs in linux.
    The rest of the files..well..If you don't know how to extract them, you have no use of these blob tools ;) (*hint* http://github.com/AndroidRoot/BootTools)