Skip to content
View SonicSpace's full-sized avatar
💬
I may be slow to respond.
💬
I may be slow to respond.

Block or report SonicSpace

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
SonicSpace/README.md

Encryption USM Files for Sonic Superstars

Version Version

This guide will lead you through the process of encrypting USM files. By Caio Natsune

📅 Submitted at November 25, 2023

a1e51d9109110d7f-1920x1080 (1)

kvArea-logo

Introduction And Credit

Sonic Superstars uses Criware's middleware called Sofdec2 which creates video containers that end with the file extension 'USM'. These files have unfortunately been encrypted for the PC version of Sonic Superstars and were previously not modifiable.

Thanks to Donmai-me, the situation has changed now: Donmai created an additional Python script for us that works in combination with his work-in-progress Python library called WannaCri. This would not be possible without Donmai, so huge thanks to him!

Installing Python

WannaCRI is based on Python 3.12.0 or Latest Version, so in order to use it we need to install said version which can be downloaded here:

Version

While installing Python, make sure to tick the option that says 'Add Python.exe to PATH'.

Installing WannaCRI

Open Command Prompt (CMD) and type the following to install WannaCRI:

pip install WannaCRI

WannaCRI needs 'ffmpeg-python as well' And 'python-json-logger' to function correctly. 'ffmpeg-python gets' automatically installed with WannaCRI, but you need to install 'python-json-logger' manually. To do so, open Command Prompt (CMD) once again and type the following:

pip install python-json-logger

You have now successfully installed WannaCRI.

Encrypting USM files

As already mentioned in the introduction section of this guide, Donmai wrote a Python script that isolates the encryption function of WannaCRI. I prepared the script for usage with Sonic Superstars USM files and wrote a batch file for it which can be downloaded below:

Version

Once extracted, you should be greeted by two files, 'Encrypt USM.bat' and 'WannaCRI_Encryption.py'. In order to encrypt an USM file, drag and drop it into the batch file. You are going to be prompted with the question "Do you want to make a copy of the original file? [Y/N]" which you can answer with either 'Y(es)' or 'N(o)'. If you enter Y(es), the batch file will create a copy of the inserted USM file and adds '*_Original' to it's name - If you enter N(o), the batch file will skip to the encryption section. The Python script will encrypt the file now which may take some time depending on the file size. Once that's done, the originally inserted USM file is encrypted and can be used with Sonic Superstars.

WannaCRI Version

A (WIP) Python library for parsing, extracting, and generating Criware's various audio and video file formats. If you're interested in reading more about USM, you can read my write-up about it here

Support

This currently supports the following formats with more planned:

✅: Implemented and tested ❓: Should work but not tested ❌: Not implemented

x/y: Extract support / Create support

USM

Video Version

Codec Not-encrypted Encrypted
VP9 ✅ / ✅ ✅ / ✅
H.264 ✅ / ✅ ✅ / ✅
Prime ✅ / ✅ ✅ / ✅

Audio Version

Codec Not-encrypted Encrypted
ADX ✅ / ✅ ✅ / ✅
CRI HCA ✅ / ✅ ✅ / ✅

Licence

Version

Python, WannaCri & FFmpeg are an open-sourced application licensed under
the MIT, OSI & Python Software Foundation License.

This project is not affiliated with SEGA, SONIC TEAM & CRIWARE INC.
All trademarks are the property of their respective owners.

Licence2 ezgif com-video-to-gif (1)

Pinned Loading

  1. Superstars-Encryption-USMs-Files Superstars-Encryption-USMs-Files Public

    This guide will lead you through the process of encrypting USM files.

    C

  2. GreenSpeedBR/GenerationsBR GreenSpeedBR/GenerationsBR Public

    Sonic Generations is translated into Brazilian Portuguese, I had no idea. Yeah right! Happy Birthday Sonic!

  3. Sonic-Colors-Ultimate-Mods Sonic-Colors-Ultimate-Mods Public

    Public Update Server For Mods I Launched And For Downloading Mods!

  4. Sonic-Frontiers-Mods Sonic-Frontiers-Mods Public

    Public Update Server For Mods I Launched And For Downloading Mods!

  5. SLW-Mods SLW-Mods Public

    Public Update Server For Mods I Launched And For Downloading Mods!

  6. Sonic-Origins-Mods Sonic-Origins-Mods Public

    Public Update Server For Mods I Launched And For Downloading Mods!