# Pyxamstore | Python Utility For Parsing Xamarin AssemblyStore Blob Files

**URL:** <https://onehack.st/t/pyxamstore-python-utility-for-parsing-xamarin-assemblystore-blob-files/259923>\
**Category:** Tools & Scripts\
**Tags:** tools, android, file-management\
**Created:** [October 20, 2023, 9:54pm UTC](https://onehack.st/t/pyxamstore-python-utility-for-parsing-xamarin-assemblystore-blob-files/259923 "2023-10-20T21:54:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Astrid](https://onehack.st/user_avatar/onehack.st/astrid/32/174869_2.png) [@Astrid](https://onehack.st/u/Astrid)\
**Post date:** [October 20, 2023, 9:54pm UTC](https://onehack.st/t/pyxamstore-python-utility-for-parsing-xamarin-assemblystore-blob-files/259923/1 "2023-10-20T21:54:49Z")

</div>

![image](https://onehack.st/uploads/default/original/3X/e/9/e9fd7e2f3ec6f047610ba29afcb39bf9ec4261db.jpeg)

# [Xamarin AssemblyStore Explorer (pyxamstore)](https://github.com/jakev/pyxamstore#xamarin-assemblystore-explorer-pyxamstore)

This is an alpha release of an `assemblies.blob` AssemblyStore parser written in Python. The tool is capable of unpack and repackaging `assemblies.blob` and `assemblies.manifest` Xamarin files from an APK.

## [Installing](https://github.com/jakev/pyxamstore#installing)

Run the installer script:

```auto
python setup.py install

```

You can then use the tool by calling `pyxamstore`

## [Usage](https://github.com/jakev/pyxamstore#usage)

### [Unpacking](https://github.com/jakev/pyxamstore#unpacking)

I recommend using the tool in conjunction with `apktool`. The following commands can be used to unpack an APK and unpack the Xamarin DLLs:

```auto
apktool d yourapp.apk
pyxamstore unpack -d yourapp/unknown/assemblies/

```

Assemblies that are detected as compressed with LZ4 will be automatically decompressed in the extraction process.

### [Repacking](https://github.com/jakev/pyxamstore#repacking)

If you want to make changes to the DLLs within the AssemblyStore, you can use `pyxamstore` along with the `assemblies.json` generated during the unpack to create a new `assemblies.blob` file(s). The following command from the directory where your `assemblies.json` file exists:

```auto
pyxamstore pack

```

From here you’ll need to copy the new manifest and blobs as well as repackage/sign the APK.

# [Additional Details](https://github.com/jakev/pyxamstore#additional-details)

Additional file format details can be found on my [personal website](https://www.thecobraden.com/posts/unpacking_xamarin_assembly_stores/).

# [Known Limitations](https://github.com/jakev/pyxamstore#known-limitations)

- Python3 support (working on it!)
- DLLs that have debug/config data associated with them

## GitHub:

> **[GitHub - jakev/pyxamstore: Python utility for parsing Xamarin AssemblyStore...](https://github.com/jakev/pyxamstore)**
>
> Python utility for parsing Xamarin AssemblyStore blob files
