Changes

691 bytes added ,  07:01, 10 September 2012
no edit summary
Line 98: Line 98:  
! Offset
 
! Offset
 
! Length
 
! Length
!  
+
! Description
 
|-
 
|-
 
| 0x0
 
| 0x0
Line 119: Line 119:  
The first 0x10-bytes are all-zero except the first byte which is 0x80. It's unknown what the first 0x10-bytes are used for.
 
The first 0x10-bytes are all-zero except the first byte which is 0x80. It's unknown what the first 0x10-bytes are used for.
   −
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory.
+
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory. The data following the payload header is written to extdata, but it's unknown what data is written to the extdata file before the content payload.
 +
 
 +
=== Payload Content Header ===
 +
{| class="wikitable"
 +
|-
 +
! Offset
 +
! Length
 +
! Description
 +
|-
 +
| 0x0
 +
| 0x8
 +
| ProgramID
 +
|-
 +
| 0x8
 +
| 0x4
 +
| Usually zero?
 +
|-
 +
| 0xC
 +
| 0x4
 +
| Magic Number 0x10001
 +
|-
 +
| 0x10
 +
| 0x4
 +
| Size of the payload after this header
 +
|-
 +
| 0x14
 +
| 0x4
 +
| Extdata FileID
 +
|-
 +
| 0x18
 +
| 0x4
 +
| ?
 +
|-
 +
| 0x1C
 +
| 0x100
 +
| RSA-2048 signature, which likely signs the following hash
 +
|-
 +
| 0x11C
 +
| 0x20
 +
| SHA-256 hash, likely hashes the whole content payload
 +
|}
 +
 
 +
The application likely handles verifying the RSA signature for this payload header.
    
[[Category:Nintendo Software]]
 
[[Category:Nintendo Software]]