Changes

445 bytes added ,  21:56, 20 October 2022
Line 112: Line 112:  
The first 0x10-bytes are all-zero except the first byte which is usually 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 usually 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 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.
+
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.  
    
=== Payload Content Header ===
 
=== Payload Content Header ===
Line 144: Line 144:  
| 0x18
 
| 0x18
 
| 0x4
 
| 0x4
| ?
+
| Probably some version field for the payload
 
|-
 
|-
 
| 0x1C
 
| 0x1C
Line 158: Line 158:     
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).
 
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).
 +
 +
The downloaded boss data is written in the following format to extdata.
 +
First an extdata header in the following format
 +
{| class="wikitable"
 +
|-
 +
! Offset
 +
! Length
 +
! Description
 +
|-
 +
| 0x0
 +
| 0x1
 +
| Size of header including this field. Always 0x18
 +
|-
 +
| 0x1
 +
| 0xB
 +
| Usually zero?
 +
|-
 +
| 0xC
 +
| 0x4
 +
| Unknown
 +
|-
 +
| 0x10
 +
| 0x4
 +
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year
 +
|-
 +
| 0x14
 +
| 0x4
 +
| Usually zero? Padding?
 +
|}
 +
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.
    
[[Category:Nintendo Software]]
 
[[Category:Nintendo Software]]
63

edits