Changes

1,881 bytes added ,  30 April
no edit summary
Line 25: Line 25:  
|-
 
|-
 
| 0x1800
 
| 0x1800
| 0x6800
+
| 0x100
| ReservedArea
+
| [11.0.0+] NewCardHeaderCertAreaModulus
 +
|-
 +
| 0x1900
 +
| 0x6700
 +
| Reserved
 
|-
 
|-
 
| 0x8000
 
| 0x8000
Line 158: Line 162:  
| 0x10E
 
| 0x10E
 
| 0x1
 
| 0x1
| CardHeaderVersion
+
| [[#Version]]
 
|-
 
|-
 
| 0x10F
 
| 0x10F
Line 173: Line 177:  
|-
 
|-
 
| 0x11C
 
| 0x11C
| 0x1
+
| 0x4
 
| Reserved
 
| Reserved
|-
  −
| 0x11D
  −
| 0x1
  −
| [18.0.0+] [[#Flags2]] ([1.0.0-17.0.1] Reserved)
  −
|-
  −
| 0x11E
  −
| 0x2
  −
| [19.0.0+] [[#ApplicationIdListEntryCount]] ([1.0.0-18.1.0] Reserved)
   
|-
 
|-
 
| 0x120
 
| 0x120
Line 250: Line 246:  
| 0xE2
 
| 0xE2
 
| 32GB
 
| 32GB
 +
|}
 +
 +
=== Version ===
 +
{| class="wikitable" border="1"
 +
|-
 +
! Value
 +
! Description
 +
|-
 +
| 0
 +
| Default
 +
|-
 +
| 1
 +
|
 +
|-
 +
| 2
 +
|
 +
|-
 +
| 3
 +
| [20.0.0+] T2Supported
 
|}
 
|}
   Line 276: Line 291:  
|-
 
|-
 
| 7
 
| 7
| [11.0.0+] HasNewCardHeader
+
| [11.0.0+] CardHeaderSignKey
 
|}
 
|}
  −
=== Flags2 ===
  −
[[Filesystem_services|FS]] retrieves this data as [[Filesystem_services#GameCardAttribute2|GameCardAttribute2]].
  −
  −
=== ApplicationIdListEntryCount ===
  −
This is the number of entries in the ApplicationIdList located right before ValidDataEndAddress.
      
=== SelSec ===
 
=== SelSec ===
Line 420: Line 429:  
| 0x0
 
| 0x0
 
| 0x100
 
| 0x100
| RSA-2048 PKCS #1 signature over the data from 0x100 to 0x200
+
| RSA-2048 PKCS #1 signature over the header (data from 0x100 to 0x200)
 
|-
 
|-
 
| 0x100
 
| 0x100
| 0x90
+
| 0x4
|  
+
| Magic ("HEAD")
 +
|-
 +
| 0x104
 +
| 0x4
 +
| RomAreaStartPageAddress (in Gamecard page units, which are 0x200 bytes)
 +
|-
 +
| 0x108
 +
| 0x4
 +
| BackupAreaStartPageAddress (always 0xFFFFFFFF)
 +
|-
 +
| 0x10C
 +
| 0x1
 +
| TitleKeyDecIndex (high nibble) and KekIndex (low nibble)
 +
|-
 +
| 0x10D
 +
| 0x1
 +
| [[#RomSize]]
 +
|-
 +
| 0x10E
 +
| 0x1
 +
| [[#Version]]
 +
|-
 +
| 0x10F
 +
| 0x1
 +
| [[#Flags]]
 +
|-
 +
| 0x110
 +
| 0x8
 +
| PackageId (used for challenge–response authentication)
 +
|-
 +
| 0x118
 +
| 0x4
 +
| ValidDataEndAddress (in Gamecard page units, which are 0x200 bytes)
 +
|-
 +
| 0x11C
 +
| 0x1
 +
| [20.0.0+] CardHeaderSignKeyIndex ([1.0.0-19.0.1] Reserved)
 +
|-
 +
| 0x11D
 +
| 0x1
 +
| [18.0.0+] [[#Flags2]] ([1.0.0-17.0.1] Reserved)
 +
|-
 +
| 0x11E
 +
| 0x2
 +
| [19.0.0+] [[#NumberOfApplicationIds]] ([1.0.0-18.1.0] Reserved)
 +
|-
 +
| 0x120
 +
| 0x10
 +
| Iv (reversed)
 +
|-
 +
| 0x130
 +
| 0x8
 +
| PartitionFsHeaderAddress
 +
|-
 +
| 0x138
 +
| 0x8
 +
| PartitionFsHeaderSize
 +
|-
 +
| 0x140
 +
| 0x20
 +
| PartitionFsHeaderHash (SHA-256 hash of the [[#PartitionFsHeader]])
 +
|-
 +
| 0x160
 +
| 0x20
 +
| InitialDataHash (SHA-256 hash of the [[#InitialData]])
 +
|-
 +
| 0x180
 +
| 0x4
 +
| [[#SelSec]]
 +
|-
 +
| 0x184
 +
| 0x4
 +
| SelT1Key (always 2)
 +
|-
 +
| 0x188
 +
| 0x4
 +
| SelKey (always 0)
 +
|-
 +
| 0x18C
 +
| 0x4
 +
| LimArea (in Gamecard page units, which are 0x200 bytes)
 
|-
 
|-
 
| 0x190
 
| 0x190
Line 430: Line 519:  
| [[#NewCardHeaderEncryptedData]]
 
| [[#NewCardHeaderEncryptedData]]
 
|}
 
|}
 +
 +
=== Flags2 ===
 +
[[Filesystem_services|FS]] retrieves this data as [[Filesystem_services#GameCardAttribute2|GameCardAttribute2]].
 +
 +
=== NumberOfApplicationIds ===
 +
This is the number of entries in the ApplicationIdList located right before ValidDataEndAddress.
    
=== NewCardHeaderEncryptedData ===
 
=== NewCardHeaderEncryptedData ===
Line 441: Line 536:  
|-
 
|-
 
| 0x0
 
| 0x0
| 0x40
+
| 0x8
|  
+
| [[#FwVersion]]
 +
|-
 +
| 0x8
 +
| 0x4
 +
| [[#AccCtrl1]]
 +
|-
 +
| 0xC
 +
| 0x4
 +
| Wait1TimeRead (always 0x1388)
 +
|-
 +
| 0x10
 +
| 0x4
 +
| Wait2TimeRead (always 0)
 +
|-
 +
| 0x14
 +
| 0x4
 +
| Wait1TimeWrite (always 0)
 +
|-
 +
| 0x18
 +
| 0x4
 +
| Wait2TimeWrite (always 0)
 +
|-
 +
| 0x1C
 +
| 0x4
 +
| FwMode (the current SdkAddonVersion)
 +
|-
 +
| 0x20
 +
| 0x4
 +
| UppVersion
 +
|-
 +
| 0x24
 +
| 0x1
 +
| [[#CompatibilityType]]
 +
|-
 +
| 0x25
 +
| 0x3
 +
| Reserved
 +
|-
 +
| 0x28
 +
| 0x8
 +
| UppHash (SHA-256 hash of the [[#UpdatePartition]])
 +
|-
 +
| 0x30
 +
| 0x8
 +
| UppId (always 0x0100000000000816)
 +
|-
 +
| 0x38
 +
| 0x8
 +
| Reserved
 
|-
 
|-
 
| 0x40
 
| 0x40
 
| 0x20
 
| 0x20
| SHA-256 hash of the [[#CardHeader]]
+
| RelatedCardHeaderHash (SHA-256 hash of [[#CardHeader]])
 
|-
 
|-
 
| 0x60
 
| 0x60
Line 465: Line 608:  
|-
 
|-
 
| 0x100
 
| 0x100
| 0x30
+
| 0x4
 +
| Magic
 +
|-
 +
| 0x104
 +
| 0x4
 +
| Version
 +
|-
 +
| 0x108
 +
| 0x8
 
|  
 
|  
 +
|-
 +
| 0x110
 +
| 0x1
 +
| CardHeaderSignKeyIndex
 +
|-
 +
| 0x111
 +
| 0x1F
 +
| Reserved
 
|-
 
|-
 
| 0x130
 
| 0x130
 
| 0x100
 
| 0x100
| [[#NewCardHeader]] modulus
+
| Modulus
 
|-
 
|-
 
| 0x230
 
| 0x230
| 0x4
+
| 0x3
| [[#NewCardHeader]] exponent
+
| PublicExponent
 
|-
 
|-
| 0x234
+
| 0x233
| 0x1CC
+
| 0x1CD
|  
+
| Reserved
 
|}
 
|}