Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jakev/pyxamstore
Python utility for parsing Xamarin AssemblyStore blob files
https://github.com/jakev/pyxamstore
Last synced: 6 days ago
JSON representation
Python utility for parsing Xamarin AssemblyStore blob files
- Host: GitHub
- URL: https://github.com/jakev/pyxamstore
- Owner: jakev
- Created: 2022-07-02T16:55:21.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-06T14:49:57.000Z (6 months ago)
- Last Synced: 2024-08-01T19:57:32.891Z (3 months ago)
- Language: Python
- Size: 33.2 KB
- Stars: 129
- Watchers: 8
- Forks: 27
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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
Run the installer script:python setup.py install
You can then use the tool by calling `pyxamstore`
## Usage
### 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: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
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:pyxamstore pack
From here you'll need to copy the new manifest and blobs as well as repackage/sign the APK.
# Additional Details
Additional file format details can be found on my [personal website](https://www.thecobraden.com/posts/unpacking_xamarin_assembly_stores/).# Known Limitations
* Python3 support (working on it!)
* DLLs that have debug/config data associated with them