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