A python library and CLI tool to work with Crimson Desert game files and savegames.
This is, to my knowledge, the first public implementation of the proper1 key derivation for both asset files and save files.
As such, please credit me if you reuse the implementations found in this tool in your own projects.
- Extraction of assets from the .paz/.pamt packs
- Proper decompression of partially-compressed .dds assets
- Decryption and re-encryption of game save files
- Deserialization of the reflection-based serializer used for the savegame and a lot of asset formats
This library targets Python 3.14.
pip install git+https://github.com/LukeFZ/pycrimsonor, as an uv tool:
uv tool install git+https://github.com/LukeFZ/pycrimsonpycrimson is distributed under the terms of the MIT license.
- Samboy063 for listening to me rant about the formats for hours on end and helping with some of the struct definitions.
Footnotes
-
The pre-existing one for asset files, which seems LLM-generated, is hardcoded to only work with packs that use the default encryption key material. This happens to currently work, as no packs currently use different encryption key material. ↩