Wii disc: Difference between revisions
Jump to navigation
Jump to search
fix suspicious offsets |
Added more information about the partitions |
||
| Line 1: | Line 1: | ||
== Disc Format == | == Disc Format == | ||
| Line 10: | Line 8: | ||
!width="120"|description | !width="120"|description | ||
|- | |- | ||
| 0x0000000000 || align="center" | <tt>1</tt> || Disctype R = <b>R</b> | | 0x0000000000 || align="center" | <tt>1</tt> || Disctype R = <b>R</b>evolution/Wii, G = GameCube, U = Utility disc(?) GameCube | ||
|- | |- | ||
| 0x0000000001 || align="center" | <tt>2</tt> || Gamecode | | 0x0000000001 || align="center" | <tt>2</tt> || Gamecode | ||
| Line 33: | Line 31: | ||
|} | |} | ||
== Partitions == | |||
The Wii disc format uses parititions, mostly one is used for updates (the 1st) and the 2nd for the game. | The Wii disc format uses parititions, mostly one is used for updates (the 1st) and the 2nd for the game. | ||
{| border="0" | {| border="0" | ||
!width="80"|offset | !width="80"|offset | ||
| Line 59: | Line 58: | ||
|} | |} | ||
Each partition starts with five 'certifications' only the first two seem to be different for each game. | |||
The first 'certification' entry also holds information about the current partition. | |||
Offset 0x00000000 is considered as the start of the partition. | |||
{| border="0" | {| border="0" | ||
|+''' | |+'''First Certification Entry:''' | ||
!width="80"|offset | !width="80"|offset | ||
!width="80"|size | !width="80"|size | ||
!width="120"|description | !width="120"|description | ||
|- | |- | ||
| 0x00000000 || align="center" | <tt> | | 0x00000000 || align="center" | <tt>2</tt> || unknown, maybe hash type? always 0x0001 | ||
|- | |||
| 0x00000002 || align="center" | <tt>2</tt> || RSA signature type, 0x0000 RSA 4096bit, 0x0001 RSA 2048bit | |||
|- | |||
| 0x00000004 || align="center" | <tt>see above</tt> || RSA signature | |||
|- | |||
| 0x0000000x || align="center" | <tt>x</tt> || TODO | |||
|- | |||
| 0x000002A0 || align="center" | <tt>0x20</tt> || Partition offsets | |||
|- | |||
| 0x000002A4 || align="center" | <tt>4</tt> || unknown, ie: 0x00000208 | |||
|- | |||
| 0x000002A8 || align="center" | <tt>4</tt> || 2nd certification offset | |||
|- | |||
| 0x000002AC || align="center" | <tt>4</tt> || unknown, ie: 0x00000A00 | |||
|- | |||
| 0x000002B0 || align="center" | <tt>4</tt> || 3rd certification offset | |||
|- | |||
| 0x000002B4 || align="center" | <tt>4</tt> || Points to an encrypted data block | |||
|- | |- | ||
| | | 0x000002B8 || align="center" | <tt>4</tt> || Data offset, Address is (value << 2) | ||
|- | |- | ||
| | | 0x000002BC || align="center" | <tt>4</tt> || Data size, Address is (value << 2) | ||
|} | |} | ||
--[[User:Crediar|Crediar]] | --[[User:Crediar|Crediar]] 04:25, 10 January 2008 (MST) | ||
Revision as of 12:37, 10 January 2008
Disc Format
The first 0x400 bytes are like the GameCube disc header format.
| offset | size | description |
|---|---|---|
| 0x0000000000 | 1 | Disctype R = Revolution/Wii, G = GameCube, U = Utility disc(?) GameCube |
| 0x0000000001 | 2 | Gamecode |
| 0x0000000003 | 1 | Region, E = USA, P = PAL, J = JAP |
| 0x0000000004 | 2 | Maker Code |
| 0x0000000006 | 1 | Disc ID |
| 0x0000000007 | 1 | Version |
| 0x0000000008 | 1 | Audio Streaming |
| 0x0000000009 | 1 | Streaming Buffersize |
| 0x000000000A | 14 | zero, unused? |
| 0x0000000018 | 4 | magicword, 0x5D1C9EA3 |
| 0x0000000020 | 0x400 | Complete Gametitle |
Partitions
The Wii disc format uses parititions, mostly one is used for updates (the 1st) and the 2nd for the game.
| offset | size | description |
|---|---|---|
| 0x0000040000 | 4 | Total partitions in the disc |
| 0x0000040004 | 4 | Partition info table offset, Address is (value << 2) |
| offset | size | description |
|---|---|---|
| 0x0000000000 | 4 | Partition offset, Address is (value << 2) |
| 0x0000000004 | 4 | Partitions to follow ?, partition type ? It's always 1 for the first entry |
Each partition starts with five 'certifications' only the first two seem to be different for each game.
The first 'certification' entry also holds information about the current partition.
Offset 0x00000000 is considered as the start of the partition.
| offset | size | description |
|---|---|---|
| 0x00000000 | 2 | unknown, maybe hash type? always 0x0001 |
| 0x00000002 | 2 | RSA signature type, 0x0000 RSA 4096bit, 0x0001 RSA 2048bit |
| 0x00000004 | see above | RSA signature |
| 0x0000000x | x | TODO |
| 0x000002A0 | 0x20 | Partition offsets |
| 0x000002A4 | 4 | unknown, ie: 0x00000208 |
| 0x000002A8 | 4 | 2nd certification offset |
| 0x000002AC | 4 | unknown, ie: 0x00000A00 |
| 0x000002B0 | 4 | 3rd certification offset |
| 0x000002B4 | 4 | Points to an encrypted data block |
| 0x000002B8 | 4 | Data offset, Address is (value << 2) |
| 0x000002BC | 4 | Data size, Address is (value << 2) |
--Crediar 04:25, 10 January 2008 (MST)