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]]