SpotPass: Difference between revisions
No edit summary |
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]] |