Changes

Jump to navigation Jump to search
1,104 bytes added ,  22 March
no edit summary
Line 10: Line 10:  
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.
 
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.
   −
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: "ap=<NZoneApNum>".
+
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: "ap=<NZoneApNum>" or when using a specific [[Cfg:GetSystemModel|system model]]: "tm=<SystemModelNumber>". The Old 3DS and Old 3DS XL don't set this value.
    
== policylist ==
 
== policylist ==
Every time the system connects to the wifi AP, the BOSS ("Background online storage service" = SpotPass) module itself will download the cleartext xml policylist: "https://nppl.c.app.nintendowifi.net/p01/policylist/3/<countrycode>". This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all. The default user-agent used for SpotPass HTTPS requests(including this policylist) is: "PBOS-5.0/<printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]>-<hex u64 obtained via the friends service>/<text [[CVer|system]] [[NVer|version]]>/<unknown decimal value>/0". No user-agent is used for plaintext HTTP requests with SpotPass.
+
Every time the system connects to the wifi AP, the BOSS ("Background online storage service" = SpotPass) module itself will download the cleartext xml policylist: "https://nppl.c.app.nintendowifi.net/p01/policylist/3/<countrycode>". This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.
    
As of the policylist updated 2017-11-08, this stops the <tt>OlvNotf</tt> (Miiverse notification sync) task for <tt>000400300000bc00</tt>, <tt>000400300000bd00</tt>, <tt>000400300000be00</tt> for all regions and <tt>basho0</tt> for the [[Home Menu]]. Japan also has the <tt>9ER_NTD</tt> task blocked for いつの間にテレビ (<tt>0004000000034700</tt>).
 
As of the policylist updated 2017-11-08, this stops the <tt>OlvNotf</tt> (Miiverse notification sync) task for <tt>000400300000bc00</tt>, <tt>000400300000bd00</tt>, <tt>000400300000be00</tt> for all regions and <tt>basho0</tt> for the [[Home Menu]]. Japan also has the <tt>9ER_NTD</tt> task blocked for いつの間にテレビ (<tt>0004000000034700</tt>).
 +
 +
== User Agent ==
 +
 +
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:
 +
 +
<tt><user agent codename>-<user agent version>/<printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]>-<printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]>/<text [[CVer|system]] [[NVer|version]]>/<unknown decimal value>/<[[Cfg:GetSystemModel|system model number]]></tt>
 +
 +
The codename can be set to either <tt>PBOS</tt> (Production BOSS?) or <tt>DBOS</tt> (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the decimal value is set to 62452 (0xF3F4).
 +
 +
No user-agent is used for plaintext HTTP requests with SpotPass.
    
== Titles Spotpass usage ==
 
== Titles Spotpass usage ==
Line 35: Line 45:  
== Automatic System Update Download ==
 
== Automatic System Update Download ==
 
See [[Automatic System Update Download]].
 
See [[Automatic System Update Download]].
 +
 +
== BOSS Sysmodule Savegame==
 +
See [[BOSS Savegame]]
    
== Content Container ==
 
== Content Container ==
Line 112: Line 125:  
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 157:  
| 0x18
 
| 0x18
 
| 0x4
 
| 0x4
| ?
+
| Probably some version field for the payload
 
|-
 
|-
 
| 0x1C
 
| 0x1C
Line 158: Line 171:     
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]]
68

edits

Navigation menu