USM Video: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks (→Games) |
imported>Ikskoks |
||
| (20 intermediate revisions by the same user not shown) | |||
| Line 59: | Line 59: | ||
List of games using this file format: | List of games using this file format: | ||
* 22/7 Ongaku no Jikan (Android) (*.USM) (encrypted) | * 22/7 Ongaku no Jikan (Android) (*.USM) (encrypted) | ||
* Ares Chronicles (PC) (*.USM) | |||
* Batman: Arkham Knight | * Batman: Arkham Knight | ||
* Crysis 2 | * Crysis 2 | ||
| Line 98: | Line 99: | ||
|- | |- | ||
| 22/7 Ongaku no Jikan (Android) | | 22/7 Ongaku no Jikan (Android) || 00000000 013416BA || n/a | ||
|- | |||
| Ares Chronicles (PC) || unknown || unknown | |||
|- | |- | ||
| Line 108: | Line 112: | ||
| NEO: The World Ends With You (PC) || 00BD86C0 EE8C7342 || n/a | | NEO: The World Ends With You (PC) || 00BD86C0 EE8C7342 || n/a | ||
|- | |||
| NEO: The World Ends With You v1.01 (PC) || unknown || n/a | |||
|- | |- | ||
| Line 161: | Line 168: | ||
</pre> | </pre> | ||
</div> | </div> | ||
=== Getting keys from Unity games === | |||
(This method doesn't always work - keep that in mind) <br> | |||
1. Download '''AssetStudio'''. Load whole "_Data" folder in AssetStudio. <br> | |||
2. Find '''CriWareInitializer''' MonoBehaviour on assets list in AssetStudio window. <br> | |||
3. Go to "decrypterConfig" section in the CriWareInitializer asset and look for "key" value there. <br> | |||
=== See Also === | === See Also === | ||
| Line 168: | Line 182: | ||
* [https://listed.to/@donmai/24921/criware-s-usm-format-part-1 USM file format] | * [https://listed.to/@donmai/24921/criware-s-usm-format-part-1 USM file format] | ||
* [https://github.com/bnnm/vgmstream/wiki/usmkey Recovering USM keys - Tutorial] | * [https://github.com/bnnm/vgmstream/wiki/usmkey Recovering USM keys - Tutorial] | ||
* [https://blog.touuki.com/archives/214 Getting keys from Unity games - part 1 (chineese tutorial)] | |||
* [https://blog.touuki.com/archives/287 Getting keys from Unity games - part 2 (chineese tutorial)] | |||
* [[HCA Audio|HCA Audio file format]] | * [[HCA Audio|HCA Audio file format]] | ||
* [https://github.com/vgmstream/vgmstream/blob/master/src/meta/hca_keys.h hca_keys.h] | * [https://github.com/vgmstream/vgmstream/blob/master/src/meta/hca_keys.h hca_keys.h] | ||
* [https://github.com/vgmstream/vgmstream/blob/master/src/meta/adx_keys.h adx_keys.h] | |||
<br/><br> | <br/><br> | ||
Latest revision as of 19:36, 2 May 2022
Back to index | Edit this page
USM
- Format Type : Video
- Endian Order : Big Endian
- Signature : CRID
Format Specifications
// USM video file format
// big endian
num_of_chunks *
{
4 bytes (char) - chunk signature // "CRID" or "@SFV" or "@SFA"
4 bytes (uint32) - chunk size
chunk_data
{
1 byte - unknown // always 0?
1 byte (uint8) - payload offset
2 bytes (uint16) - padding size
1 byte (uint8) - channel number
2 bytes - unknown
1 byte (uint8) - payload type // 0 - stream (audio/video binary data)
// 1 - header (media metadata about a video or audio track)
// 2 - section end (info about end of the chunk data)
// 3 - seek (data about the seek positions of a video track)
4 bytes (uint32) - frame time // used for "stream" chunks, 0 for other chunks
4 bytes (uint32) - frame rate // for audio chunk always 2997
// for stream chunk 100*stream_rate
// for other chunks always 30
8 bytes - unknown
x bytes - payload // e.g. "@UTF" chunk
x bytes - padding
}
}
MultiEx BMS Script
Not written yet.
Notes and Comments
- Some *.USM files are encrypted using a 8-byte XOR key (like in HCA files)
- USM keys are often the same as HCA keys (not always)
- Alternative names for USM files are Sofdec2 or CRI Movie 2.
- Older version of this format is SFD Video.
Games
List of games using this file format:
- 22/7 Ongaku no Jikan (Android) (*.USM) (encrypted)
- Ares Chronicles (PC) (*.USM)
- Batman: Arkham Knight
- Crysis 2
- Deus EX Human Revolution
- Digimon Story: Cyber Sleuth (PC)
- Genshin Impact (*.USM) (encrypted)
- Madoka Magica Pachislot (*.USM)
- NEO: The World Ends with You (*.USM) (encrypted, more info here)
- Okami HD (*.USM) (encrypted, more info here and here and here)
- Orcs must die!
- Persona 5 Royal (*.USM) (encrypted, more info here)
- Princess Connect Re:Dive (Android) (*.USM) (no encryption)
- Spider-Man: Shattered Dimensions (Xbox 360)
- Tekken 7 (PC) (*.USM) (encrypted, more info here)
- Touhou Cannonball (*.MV) (encrypted?)
- THE ALCHEMIST CODE (encrypted)
- The Witcher 2 (PC) (*.USM)
- The Witcher 3: Wild Hunt (PC) (*.USM)
- Wonder Gravity (Android)
Compatible Programs
- Scaleform_VideoEncoder.zip / mirror1
- VGMToolbox
- FFmpeg
- CRID Demux Tool (CRID USM extractor / crid_mod) (+ source code) / mirror1 / mirror2
- UsmToolkit
- UsmDemuxer
- utf_tab (+ source code)
- WannaCRI (+ source code)
USM Keys
Keys listed below are shared for educational purposes only.
Please don't use them to steal assets from games.
| Game Title | Key (HEX) | Key (ASCII) |
|---|---|---|
| 22/7 Ongaku no Jikan (Android) | 00000000 013416BA | n/a |
| Ares Chronicles (PC) | unknown | unknown |
| Digimon Story: Cyber Sleuth (PC) | 283553DC E3FD5FB9 | n/a |
| Hortensia Saga (Android) | 00000000 01395C51 | n/a |
| NEO: The World Ends With You (PC) | 00BD86C0 EE8C7342 | n/a |
| NEO: The World Ends With You v1.01 (PC) | unknown | n/a |
| Okami HD (PC) | 006B6172 61616765 | karaage |
| Persona 5 Royal (CN) | 00000000 01C87822 | n/a |
| Persona 5 Royal (JP) | 00000000 00A67D71 | n/a |
| Persona 5 Royal (EFIGS) | 00000000 035B6784 | n/a |
| Tekken 7 (PC) | 00A1CACC C4CF453D | n/a |
| THE ALCHEMIST CODE (Android) | 00000497 222AAA84 | n/a |
| Wonder Gravity (Android) | 006CCC56 9EB1668D | n/a |
Examples
- Demuxing USM files from "Okami HD" (PC version) using crid_mod
crid_mod.exe -b 006B6172 -a 61616765 -v -x -i prologue.usm
- Demuxing USM files from "Tekken 7" (PC version) using crid_mod
crid_mod.exe -b 00A1CACC -a C4CF453D -v -x -i MainMenu_loop.usm
- Demuxing USM files from "Persona 5 Royal (EFIGS)" using crid_mod
crid_mod.exe -b 00000000 -a 035B6784 -v -x -i mov000.usm
Getting keys from Unity games
(This method doesn't always work - keep that in mind)
1. Download AssetStudio. Load whole "_Data" folder in AssetStudio.
2. Find CriWareInitializer MonoBehaviour on assets list in AssetStudio window.
3. Go to "decrypterConfig" section in the CriWareInitializer asset and look for "key" value there.
See Also
- USM description
- USM modding
- USM file format
- Recovering USM keys - Tutorial
- Getting keys from Unity games - part 1 (chineese tutorial)
- Getting keys from Unity games - part 2 (chineese tutorial)
- HCA Audio file format
- hca_keys.h
- adx_keys.h