Home > Uncategorized > Extract Assemblies.blob / Assemblies.manifest from Xamarin APK

Extract Assemblies.blob / Assemblies.manifest from Xamarin APK

When unzipping a Xamarin-built APK, you may notice that in the \assemblies folder there are no longer a list of DLLS, but two files, Assemblies.blob and Assemblies.manifest, where the manifest contains a list of filenames, and their associated Hashes, and the blob file contains the compressed data. All this gives the APK a smaller footprint on device. (Even though the APK is zipped anyway, but I presume that someone has done the maths!)

To uncompress the Assemblies.blob file, you’ll need python installed on your machine – and clone the repo from https://github.com/jakev/xamarin-assembly-store-unpack/blob/master/unpack-store.py

With this script, you can decompress the assemblies.blob / manifest using the syntax;

usage: unpack-store.py [-h] [–blob BLOB] [–manifest MANIFEST]

After this, you have a load of Lz4 files. You pick the file you’re interested in, and then git clone the repo

https://github.com/infiniteloopltd/lz4_decompress

Then using this script, you then run the command;

python lz4_decompress.py [filename].lz4

Which gives you the DLL that you can import into dotnetpeek or ILSpy.

Advertisement
Categories: Uncategorized
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: