Changes

50 bytes added ,  02:22, 29 April 2012
Line 27: Line 27:  
== Content Container ==
 
== Content Container ==
   −
All SpotPass content uses this container to encrypt the payload.(and possibly sign it) The cleartext payload is stored in [[extdata]].
+
All SpotPass content uses this container to encrypt the payload and sign it. The cleartext payload is stored in [[extdata]]. This header format is big-endian.
    
{| class="wikitable"
 
{| class="wikitable"
Line 41: Line 41:  
| 0x4
 
| 0x4
 
| 0x4
 
| 0x4
| Always 00 01 00 01
+
| Magic Number 0x1000100
 
|-
 
|-
 
| 0x8
 
| 0x8
Line 48: Line 48:  
|-
 
|-
 
| 0xC
 
| 0xC
| 0x4
+
| 0x8
| Always 00 00 00 00
+
| u64 release date (UNIX timestamp)
|-
  −
| 0x10
  −
| 0x4
  −
| Release date (UNIX timestamp)
   
|-
 
|-
 
| 0x14
 
| 0x14
Line 59: Line 55:  
| Always 00 01 00 00 00 02 00 02
 
| Always 00 01 00 00 00 02 00 02
 
|-
 
|-
| 0x1c
+
| 0x1C
| 0x27a?
+
| 0xC
| Unknown, going by the size of this a RSA-4096 signature might be stored here among other things?
+
| First 12 bytes of the CTR
 
|}
 
|}
   −
Data following the header is encrypted, the CTR used is likely based on metadata in the header.(like the timestamp)
+
Data following the header is encrypted with AES-CTR. The first 12 bytes of the CTR are from offset 0x1C of the header, while the last word of the CTR in big-endian is 0x1. The cleartext data begins with another unknown SpotPass header which contains the RSA-2048 signature. Following that header is the actual content.
It appears that this file format is big-endian, unlike other 3DS formats.
      
[[Category:Nintendo Software]]
 
[[Category:Nintendo Software]]