USM Video: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks |
||
| (90 intermediate revisions by the same user not shown) | |||
| Line 51: | Line 51: | ||
=== Notes and Comments === | === Notes and Comments === | ||
* Some *.USM files are encrypted using a '''XOR''' key (like in [[HCA Audio|HCA files]]) | * Some *.USM files are encrypted using a 8-byte '''XOR''' key (like in [[HCA Audio|HCA files]]) | ||
* USM keys are often the same as HCA keys (not always) | * 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 [[Sofdec Video SFD|SFD Video]]. | |||
=== Games === | === Games === | ||
List of games using this file format: | List of games using this file format: | ||
* Genshin Impact (*.USM) (encrypted | * 22/7 Ongaku no Jikan (Android) (*.USM) (encrypted) | ||
* NEO: The World Ends with You (*.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 [https://forum.xentax.com/viewtopic.php?p=178793#p178793 here]) | |||
* Okami HD (*.USM) (encrypted, more info [https://github.com/bnnm/vgmstream/wiki/usmkey here] and [https://steamcommunity.com/groups/vidsquish/discussions/0/3003299213531273149/ here] and [https://hcs64.com/mboard/forum.php?showthread=22828&showpage=32 here]) | * Okami HD (*.USM) (encrypted, more info [https://github.com/bnnm/vgmstream/wiki/usmkey here] and [https://steamcommunity.com/groups/vidsquish/discussions/0/3003299213531273149/ here] and [https://hcs64.com/mboard/forum.php?showthread=22828&showpage=32 here]) | ||
* Orcs must die! | |||
* Persona 5 Royal (*.USM) (encrypted, more info [https://shrinefox.com/forum/viewtopic.php?f=29&t=254 here]) | * Persona 5 Royal (*.USM) (encrypted, more info [https://shrinefox.com/forum/viewtopic.php?f=29&t=254 here]) | ||
* Princess Connect Re:Dive (Android) (*.USM) (no encryption) | |||
* Spider-Man: Shattered Dimensions (Xbox 360) | |||
* Tekken 7 (PC) (*.USM) (encrypted, more info [https://hcs64.com/mboard/forum.php?showthread=22828&showpage=23 here]) | * Tekken 7 (PC) (*.USM) (encrypted, more info [https://hcs64.com/mboard/forum.php?showthread=22828&showpage=23 here]) | ||
* Touhou Cannonball (*.MV) (encrypted?) | |||
* THE ALCHEMIST CODE (encrypted) | |||
* The Witcher 2 (PC) (*.USM) | * The Witcher 2 (PC) (*.USM) | ||
* The Witcher 3: Wild Hunt (PC) (*.USM) | * The Witcher 3: Wild Hunt (PC) (*.USM) | ||
* Wonder Gravity (Android) | |||
=== Compatible Programs === | === Compatible Programs === | ||
| Line 69: | Line 84: | ||
* VGMToolbox | * VGMToolbox | ||
* FFmpeg | * FFmpeg | ||
* [https://mega.nz/file/TJQniYwL#Dp_D-KvzVlVgTwqzVJc1n3vslBZsHdy8pdDqzhRtsOI CRID Demux Tool (CRID USM extractor)] (+ source code) / [https://cdn.discordapp.com/attachments/448202199852646431/708452992331939880/CRID.usmDemux_Tool_v1.02-mod.7z mirror1] | * [https://mega.nz/file/TJQniYwL#Dp_D-KvzVlVgTwqzVJc1n3vslBZsHdy8pdDqzhRtsOI CRID Demux Tool (CRID USM extractor / crid_mod)] (+ source code) / [https://cdn.discordapp.com/attachments/448202199852646431/708452992331939880/CRID.usmDemux_Tool_v1.02-mod.7z mirror1] / [https://zenhax.com/download/file.php?id=9999 mirror2] | ||
* [https://github.com/Rikux3/UsmToolkit UsmToolkit] | * [https://github.com/Rikux3/UsmToolkit UsmToolkit] | ||
* [https://github.com/esterTion/UsmDemuxer UsmDemuxer] | * [https://github.com/esterTion/UsmDemuxer UsmDemuxer] | ||
| Line 81: | Line 96: | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! Game Title | ! 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 | |||
|- | |||
| Tekken 7 (PC) | | 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 | ||
|- | |- | ||
| Line 118: | Line 162: | ||
</div> | </div> | ||
* Demuxing USM files from "Persona 5 Royal (EFIGS)" | * Demuxing USM files from "Persona 5 Royal (EFIGS)" using crid_mod | ||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | <div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | ||
<pre> | <pre> | ||
| Line 124: | 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 131: | 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