Wii disc: Difference between revisions

From WiiBrew
Jump to navigation Jump to search
SpamBot (talk | contribs)
fix suspicious offsets
SpamBot (talk | contribs)
Added more information about the partitions
Line 1: Line 1:
= Wii Disc =
== 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>evoltion/Wii, G = GameCube, U = Utility disc(?) GameCube
| 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"
|+'''Partition data entry'''
|+'''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>~0x1000</tt> || certifications
| 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
|-
|-
| 0x00008000 || align="center" | <tt>~0x5DC</tt> || encrypted block, unknown
| 0x000002B8 || align="center" | <tt>4</tt> || Data offset, Address is (value << 2)
|-
|-
| 0x00020000 || align="center" | <tt>x</tt> || Start of the encrypted partition data
| 0x000002BC || align="center" | <tt>4</tt> || Data size, Address is (value << 2)


|}
|}




--[[User:Crediar|Crediar]] 17:12, 4 January 2008 (MST)
--[[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)


Partition table entry
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.


First Certification Entry:
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)