Changes

Jump to navigation Jump to search
616 bytes added ,  07:01, 28 November 2012
Changed layout to organize better, added some more details
Line 198: Line 198:  
Offset 0x00000000 is considered as the start of the partition.
 
Offset 0x00000000 is considered as the start of the partition.
   −
=== Region setting ===
+
==== Partition ====
  −
{| class="wikitable"
  −
|-
  −
! Start
  −
! Size
  −
! Name
  −
! Description
  −
|-
  −
| 0x4E000
  −
| 4
  −
| Region byte
  −
| 0 = JAP/CHT (Taiwan), 1 = USA, 2 = PAL, 4 = KOR
  −
|-
  −
| 0x4E004
  −
| 6
  −
|
  −
|-
  −
| 0x4E010
  −
| 1
  −
| Japan/Taiwan
  −
| rowspan="2" | Age Rating byte. Indicates the Age Rating for a Wiidisc
  −
|-
  −
| 0x4E011
  −
| 1
  −
| USA
  −
|-
  −
| 0x4E012
  −
| 1
  −
|
  −
|-
  −
| 0x4E013
  −
| 1
  −
| Germany
  −
| rowspan="7" | Age Rating byte. Indicates the Age Rating for a Wiidisc
  −
|-
  −
| 0x4E014
  −
| 1
  −
| PEGI
  −
|-
  −
| 0x4E015
  −
| 1
  −
| Finland
  −
|-
  −
| 0x4E016
  −
| 1
  −
| Portugal
  −
|-
  −
| 0x4E017
  −
| 1
  −
| Britain
  −
|-
  −
| 0x4E018
  −
| 1
  −
| Australia
  −
|-
  −
| 0x4E019
  −
| 1
  −
| Korea
  −
|-
  −
| 0x4E01A
  −
| 6
  −
|
  −
|}
     −
=== [[TMD]] and [[Certificate chain]] ===
  −
   
{| class="wikitable"
 
{| class="wikitable"
 
! Start
 
! Start
Line 305: Line 240:  
| <tt>varies</tt>
 
| <tt>varies</tt>
 
| [[TMD]]
 
| [[TMD]]
 +
|-
 +
| 0x00020000
 +
| <tt>varies</tt>
 +
| Partition Data
 
|}
 
|}
   −
== Partition Data ==
+
==== Partition Data ====
 +
 
 +
===== Encrypted =====
    
Partition data is encrypted using a key, which can be obtained from the partition header and the master key. The actual partition data starts at offset 0x20000 in the partition, and it is formatted in "clusters" of size 0x8000 (32k). Each one of these blocks consists of 0x400 bytes of encrypted SHA-1 hash data, followed by 0x7C00 bytes of encrypted user data. The 0x400 bytes SHA-1 data is encrypted using AES-128-CBC, with the partition key and a null (all zeroes) IV. Clusters are aggregated into subgroups of 8 clusters, and 8 subgroups are aggregated into one group of 64 clusters. The plaintext format is as follows:
 
Partition data is encrypted using a key, which can be obtained from the partition header and the master key. The actual partition data starts at offset 0x20000 in the partition, and it is formatted in "clusters" of size 0x8000 (32k). Each one of these blocks consists of 0x400 bytes of encrypted SHA-1 hash data, followed by 0x7C00 bytes of encrypted user data. The 0x400 bytes SHA-1 data is encrypted using AES-128-CBC, with the partition key and a null (all zeroes) IV. Clusters are aggregated into subgroups of 8 clusters, and 8 subgroups are aggregated into one group of 64 clusters. The plaintext format is as follows:
Line 361: Line 302:     
To decrypt the user data at 0x0400-0x7FFF, again use the partition key, but this time take the IV from bytes 0x3D0-0x3DF in the '''encrypted''' SHA-1 block.
 
To decrypt the user data at 0x0400-0x7FFF, again use the partition key, but this time take the IV from bytes 0x3D0-0x3DF in the '''encrypted''' SHA-1 block.
 +
 +
===== Decrypted =====
 +
 +
Once the Partition Data is decrypted, it follows the same formatting as a Gamecube disc for the most part.
 +
 +
{| class="wikitable"
 +
|-
 +
! Start
 +
! Size
 +
! Description
 +
|-
 +
| 0x00000
 +
| 1024
 +
| Same format as the main disc header, except bytes 0x60 and 0x61 are set to 0x01.
 +
|-
 +
| 0x00420
 +
| 4
 +
| Pointer to the Main Dolphin, Address is (value << 2)
 +
|-
 +
| 0x00424
 +
| 4
 +
| Pointer to the File System start, Address is (value << 2)
 +
|-
 +
| 0x00428
 +
| 4
 +
| File System Size
 +
|-
 +
| 0x0042C
 +
| 4
 +
| Max File System Size
 +
|-
 +
| 0x02440
 +
| 4
 +
| Pointer to the App Loader
 +
|}
 +
 +
=== Region setting ===
 +
 +
{| class="wikitable"
 +
|-
 +
! Start
 +
! Size
 +
! Name
 +
! Description
 +
|-
 +
| 0x4E000
 +
| 4
 +
| Region byte
 +
| 0 = JAP/CHT (Taiwan), 1 = USA, 2 = PAL, 4 = KOR
 +
|-
 +
| 0x4E004
 +
| 6
 +
|
 +
|-
 +
| 0x4E010
 +
| 1
 +
| Japan/Taiwan
 +
| rowspan="2" | Age Rating byte. Indicates the Age Rating for a Wiidisc
 +
|-
 +
| 0x4E011
 +
| 1
 +
| USA
 +
|-
 +
| 0x4E012
 +
| 1
 +
|
 +
|-
 +
| 0x4E013
 +
| 1
 +
| Germany
 +
| rowspan="7" | Age Rating byte. Indicates the Age Rating for a Wiidisc
 +
|-
 +
| 0x4E014
 +
| 1
 +
| PEGI
 +
|-
 +
| 0x4E015
 +
| 1
 +
| Finland
 +
|-
 +
| 0x4E016
 +
| 1
 +
| Portugal
 +
|-
 +
| 0x4E017
 +
| 1
 +
| Britain
 +
|-
 +
| 0x4E018
 +
| 1
 +
| Australia
 +
|-
 +
| 0x4E019
 +
| 1
 +
| Korea
 +
|-
 +
| 0x4E01A
 +
| 6
 +
|
 +
|}
    
== Known Wii discs ==
 
== Known Wii discs ==
2

edits

Navigation menu