In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "Data containers"

From WiiBrew
Jump to navigation Jump to search
(Added a basic description for Bmg file format)
(italicized game names)
 
(19 intermediate revisions by 11 users not shown)
Line 7: Line 7:
 
= Logical Containers =
 
= Logical Containers =
  
== Disc Partitions ==
+
== [[Wiidisc|Disc Partitions]] ==
  
 
The discs used on the Nintendo Wii are structured in one or more self-contained subdivisions called "partitions". Partitions contain encrypted data blocks (0x8000 bytes per block, or 32k) protected by encrypted SHA-1 hashes signed by a RSA signature. The encryption and hashing is carried at the block layer, independent of the file system used (FST).
 
The discs used on the Nintendo Wii are structured in one or more self-contained subdivisions called "partitions". Partitions contain encrypted data blocks (0x8000 bytes per block, or 32k) protected by encrypted SHA-1 hashes signed by a RSA signature. The encryption and hashing is carried at the block layer, independent of the file system used (FST).
Line 13: Line 13:
 
Each partition is encrypted using a 'title key' that can be derived from a common key and the [[ticket]] in the partition.
 
Each partition is encrypted using a 'title key' that can be derived from a common key and the [[ticket]] in the partition.
  
The structure of a partition is described in the [[Wiidisc]] page.
+
== [[Tmd file structure|Title MetaData (TMD)]] ==
 
 
== Title MetaData (TMD) ==
 
  
 
The TMDs are structures used in several places (disc partitions, etc.) to describe a set of signed content.
 
The TMDs are structures used in several places (disc partitions, etc.) to describe a set of signed content.
 
The structure of a TMD is described in the [[Tmd file structure]] page.
 
  
 
== Files ==
 
== Files ==
  
=== WAD Files ===
+
PAK, FSB, MAP, AW, BLO, RSO, DSP
  
These files are encrypted file containers. They are used for example within gamesaves and firmware updates.
+
=== [[AST file|AST files]] ===
  
The process to decrypt WAD files is similar to the one used for the discs.
+
AST files contain PCM16 sound data. They're used in ''Super Mario Galaxy'', ''Legend of Zelda: Twilight Princess'', and possibly others.
  
The format of a WAD file is described in the [[WAD Files]] page.
+
=== [[BMG files]] ===
  
=== Savegames ===
+
Stores strings used in games for localization. Can be found in a most Nintendo published games such as ''Mario Kart Wii'', ''Wii Fit'' and more.
  
These files are used by games to preserve the state of game play.
+
=== [[BRFNT files]] ===
  
The format, which is a special header followed by a WAD file, is described in the [[Savegame Files]] page.
+
BRFNT files contain font data. They're used in Mario Kart Wii, and possibly others.  
  
=== Channels saved to SD (content.bin) ===
+
=== [[BRRES files]] ===
These files are generated when a channel (Wii or VC) is saved to an SD card.
 
  
This format is described in [[Content.bin_file_structure]].
+
BRRES files contain model, texture and animation data. They're used in several games.  
  
=== U8 archives ===
+
=== [[BRSTM file|BRSTM files]] ===
This is an archive format (no compression) which is used in several places.
 
  
The format is described on the [[U8 archive]] page.
+
BRSTM files contain ADPCM sound data. They're used in ''Mario Kart Wii'', and possibly others.
  
=== DVD game banner (opening.bnr) ===
+
=== BTI files ===
This is the file that describes the banner shown in the channel selector when a game disc is inserted.
 
  
The format is described on the [[opening.bnr]] page.
+
BTI files contain image data. They're used in ''Mario Kart Wii'', and possibly others.  
  
=== RARC Files ===
+
=== [[CCF archive|CCF files]] ===
  
These files are compressed file containers. The compression seems to be the same as in the GameCube RARC format.
+
This is an archive format that supports optional ZLib compression.
  
The format of a RARC file is described in [http://hitmen.c02.at/files/yagcd/yagcd/chap15.html#sec15.3 Yet Another GameCube Documentation] by Groepaz/Hitmen.
+
=== [[Content.bin file structure|Channels saved to SD (content.bin)]] ===
 +
These files are generated when a channel (Wii or VC) is saved to an SD card.
  
=== Yaz0 Files ===
+
=== [[opening.bnr|DVD game banner (opening.bnr)]] ===
 
+
This is the file that describes the banner shown in the channel selector when a game disc is inserted.
These files are compressed files. The compression seems to be the same as the one used in the GameCube Yaz0 format.
 
 
 
The format of a Yaz0 file is described in [http://hitmen.c02.at/files/yagcd/yagcd/chap16.html#sec16.2  Yet Another GameCube Documentation] by Groepaz/Hitmen.
 
  
 
=== PAC/PCS Files ===
 
=== PAC/PCS Files ===
  
==== PAC-Files: ====  
+
==== PAC-Files ====
  
 
Seems to be an archive format.
 
Seems to be an archive format.
Line 76: Line 67:
 
* starting at 0x60 -> Beginning of the archived file, in the case of those .pac-files of the fighters they all seem to be .brres-files
 
* starting at 0x60 -> Beginning of the archived file, in the case of those .pac-files of the fighters they all seem to be .brres-files
  
[[Image:Pacexample.png|thumb|100px|none|An Example of a .pac-archive]]
+
[[File:Pacexample.png|thumb|100px|none|An Example of a .pac-archive]]
  
 
As you can see in that image of a file (FitLink00.pac) of the SSBB-Disc, the file which is stored in the .pac is called FitLink00.bres and residents in the /-folder
 
As you can see in that image of a file (FitLink00.pac) of the SSBB-Disc, the file which is stored in the .pac is called FitLink00.bres and residents in the /-folder
  
==== PCS-Files: ====  
+
==== PCS-Files ====
  
 
Seems to be an compressed version of the the PAC-Archive
 
Seems to be an compressed version of the the PAC-Archive
  
=== CCF files: ===
+
=== RARC Files ===
 +
 
 +
These files are compressed file containers. The compression seems to be the same as in the GameCube RARC format.
 +
 
 +
The format of a RARC file is described in [http://hitmen.c02.at/files/yagcd/yagcd/chap15.html#sec15.3 Yet Another GameCube Documentation] by Groepaz/Hitmen.
 +
 
 +
=== [[Savegame Files|Savegame files]] ===
 +
 
 +
These files are used by games to preserve the state of game play.
 +
 
 +
=== [[Ticket|Ticket/TIK files]] ===
 +
 
 +
Tickets are found in many encrypted files used by the Wii (e.g. [[WAD Files]] or [[Wiidisc]]s). They contain the encrypted [http://en.wikipedia.org/wiki/Advanced_Encryption_Standard AES] key and the Title ID of the data followed by a [[certificate chain]].
 +
 
 +
=== [[U8 archive|U8 archives]] ===
 +
This is an archive format (no compression) which is used in several places.
  
This is an archive format that supports optional ZLib compression. The format is described on the [[CCF archive]] page.
+
=== [[WAD Files|WAD files]] ===
  
=== BMG files: ===
+
These files are encrypted file containers. They are used for example within gamesaves and firmware updates.
  
Stores strings used in games for localization. Starts with 4 byte ascii text MESG, contains INF and DAT sections. DAT section contains the unicode strings. Can be found in a Wii Fit disc.
+
The process to decrypt WAD files is similar to the one used for the discs.
  
=== Ticket/TIK files: ===
+
=== Yaz0 Files ===
  
Tickets are found in many encrypted files used by the Wii (e.g. [[WAD Files]] or [[Wiidisc|Wiidiscs]]). They contain the encrypted [http://en.wikipedia.org/wiki/Advanced_Encryption_Standard AES] key and the Title ID of the data followed by a [[certificate chain]].
+
These files are compressed files. The compression seems to be the same as the one used in the GameCube Yaz0 format.
  
The format of ticket files is described in the [[Ticket]] page.
+
The format of a Yaz0 file is described in [http://hitmen.c02.at/files/yagcd/yagcd/chap16.html#sec16.2 Yet Another GameCube Documentation] by Groepaz/Hitmen.
  
[[Category:File formats]]
+
[[Category:File formats|*]]

Latest revision as of 08:27, 2 February 2024

The Nintendo Wii code and data is stored using several data structures present in different types of media.

This page is an overview of said containers and structures.

(Feel free to fix any missed information or misinformation in this page).

Logical Containers

Disc Partitions

The discs used on the Nintendo Wii are structured in one or more self-contained subdivisions called "partitions". Partitions contain encrypted data blocks (0x8000 bytes per block, or 32k) protected by encrypted SHA-1 hashes signed by a RSA signature. The encryption and hashing is carried at the block layer, independent of the file system used (FST).

Each partition is encrypted using a 'title key' that can be derived from a common key and the ticket in the partition.

Title MetaData (TMD)

The TMDs are structures used in several places (disc partitions, etc.) to describe a set of signed content.

Files

PAK, FSB, MAP, AW, BLO, RSO, DSP

AST files

AST files contain PCM16 sound data. They're used in Super Mario Galaxy, Legend of Zelda: Twilight Princess, and possibly others.

BMG files

Stores strings used in games for localization. Can be found in a most Nintendo published games such as Mario Kart Wii, Wii Fit and more.

BRFNT files

BRFNT files contain font data. They're used in Mario Kart Wii, and possibly others.

BRRES files

BRRES files contain model, texture and animation data. They're used in several games.

BRSTM files

BRSTM files contain ADPCM sound data. They're used in Mario Kart Wii, and possibly others.

BTI files

BTI files contain image data. They're used in Mario Kart Wii, and possibly others.

CCF files

This is an archive format that supports optional ZLib compression.

Channels saved to SD (content.bin)

These files are generated when a channel (Wii or VC) is saved to an SD card.

DVD game banner (opening.bnr)

This is the file that describes the banner shown in the channel selector when a game disc is inserted.

PAC/PCS Files

PAC-Files

Seems to be an archive format.

These informations are taken by investigating some .pac-files of the fighters of ssbb (the currently only known game that uses those archives).

  • first 3 bytes -> ARC
  • starting at 0x10 -> Filename without extension
  • starting at 0x60 -> Beginning of the archived file, in the case of those .pac-files of the fighters they all seem to be .brres-files
An Example of a .pac-archive

As you can see in that image of a file (FitLink00.pac) of the SSBB-Disc, the file which is stored in the .pac is called FitLink00.bres and residents in the /-folder

PCS-Files

Seems to be an compressed version of the the PAC-Archive

RARC Files

These files are compressed file containers. The compression seems to be the same as in the GameCube RARC format.

The format of a RARC file is described in Yet Another GameCube Documentation by Groepaz/Hitmen.

Savegame files

These files are used by games to preserve the state of game play.

Ticket/TIK files

Tickets are found in many encrypted files used by the Wii (e.g. WAD Files or Wiidiscs). They contain the encrypted AES key and the Title ID of the data followed by a certificate chain.

U8 archives

This is an archive format (no compression) which is used in several places.

WAD files

These files are encrypted file containers. They are used for example within gamesaves and firmware updates.

The process to decrypt WAD files is similar to the one used for the discs.

Yaz0 Files

These files are compressed files. The compression seems to be the same as the one used in the GameCube Yaz0 format.

The format of a Yaz0 file is described in Yet Another GameCube Documentation by Groepaz/Hitmen.