Changes

Jump to navigation Jump to search
200 bytes added ,  2 June
→‎InitialData: Fix struct being too large caused by having redundant data
Line 235: Line 235:  
|  0xCD6
 
|  0xCD6
 
|  Reserved
 
|  Reserved
 +
|-
 +
|  0x1000
 +
|  0x200
 +
|  InitialData
 +
|}
 +
 +
=== InitialData ===
 +
 +
This data is returned by [[Gamecards|16-byte cartridge command]] 0x82.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
!  OFFSET
 +
!  SIZE
 +
!  DESCRIPTION
 +
|-
 +
|  0x00
 +
|  0x10
 +
|  Seed (keyY used to decrypt the title key - keyX is keyslot 0x3B for production cards, or a key of all zeroes for development cards), consisting of the title ID (little-endian) followed by reserved data (normally all-zero)
 +
|-
 +
|  0x10
 +
|  0x10
 +
|  TitleKey (AES-CCM encrypted)
 +
|-
 +
|  0x20
 +
|  0x10
 +
|  AES-CCM MAC
 +
|-
 +
|  0x30
 +
|  0xC
 +
|  AES-CCM nonce
 +
|-
 +
|  0x3C
 +
|  0xC4
 +
|  Reserved (normally all-zero)
 +
|-
 +
|  0x100
 +
|  0x100
 +
|  NcchHeader (copy of the first NCCH header, excluding the RSA signature)
 
|}
 
|}
   Line 243: Line 282:  
!  SIZE
 
!  SIZE
 
!  DESCRIPTION
 
!  DESCRIPTION
|-
  −
|  0x1000
  −
|  0x200
  −
|  InitialData
   
|-
 
|-
 
|  0x1200
 
|  0x1200
Line 297: Line 332:     
Some dumping tools, notably GodMode9 as of 2024-05-26, erroneously always write 0x00000000 into the position of the Cartridge ID2. This is presumably because the cartridge ID2 is always zero for retail carts.
 
Some dumping tools, notably GodMode9 as of 2024-05-26, erroneously always write 0x00000000 into the position of the Cartridge ID2. This is presumably because the cartridge ID2 is always zero for retail carts.
  −
=== InitialData ===
  −
{| class="wikitable" border="1"
  −
|-
  −
!  OFFSET
  −
!  SIZE
  −
!  DESCRIPTION
  −
|-
  −
|  0x0
  −
|  0x10
  −
|  Seed (keyY used to decrypt the title key - keyX is keyslot 0x3B for production cards, or a key of all zeroes for development cards)
  −
|-
  −
|  0x10
  −
|  0x10
  −
|  TitleKey (AES-CCM encrypted)
  −
|-
  −
|  0x20
  −
|  0x10
  −
|  Mac
  −
|-
  −
|  0x30
  −
|  0xC
  −
|  Nonce
  −
|-
  −
|  0x3C
  −
|  0xC4
  −
|  Reserved
  −
|-
  −
|  0x100
  −
|  0x100
  −
|  NcchHeader (copy of the first NCCH header, excluding the RSA signature)
  −
|}
      
=== TestData ===
 
=== TestData ===

Navigation menu