In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "/shared2/wc24/nwc24msg.cfg"

From WiiBrew
< /shared2‎ | wc24
Jump to navigation Jump to search
(0x3f8 is the flag which enables WC24 title booting.)
(Elaborate on checksum creation)
 
(14 intermediate revisions by 7 users not shown)
Line 1: Line 1:
This file contains data used by the WC24 mail engine. The following list is the mail engine URLs contained in this file. Like most other WC24 URLs, you need the internal KD SSL client certificate to access the servers.
+
This file contains data used by the [[WiiConnect24]] mail engine. The following list is the default mail engine URLs contained in this file.
  
* https://amw.wc24.wii.com/cgi-bin/account.cgi
+
All URLs, except account.cgi, are now defunct as of 2013. Nintendo's servers required the internal IOS SSL client certificate to access the servers. [[RiiConnect24]] has restored the functionality, and patches the mail server URLs using a homebrew app the user runs.
* http://rcw.wc24.wii.com/cgi-bin/check.cgi
+
 
* https://mtw.wc24.wii.com/cgi-bin/receive.cgi
+
* https://amw.wc24.wii.com/cgi-bin/account.cgi - This generates a passwd and mlchkid, for usage when contacting the Wii Mail scripts for authentication.
* https://mtw.wc24.wii.com/cgi-bin/delete.cgi
+
* http://rcw.wc24.wii.com/cgi-bin/check.cgi - This is where the Wii checks if it has any mail. It's used as part of a challenge the server must respond with, presumably as it is over HTTP.
* https://mtw.wc24.wii.com/cgi-bin/send.cgi
+
* https://mtw.wc24.wii.com/cgi-bin/receive.cgi - This handles receiving of mail, returning messages up to a size the Wii provides.
 +
* https://mtw.wc24.wii.com/cgi-bin/delete.cgi - Once mail is received, the Wii contacts this script to delete the mail from the server database.
 +
* https://mtw.wc24.wii.com/cgi-bin/send.cgi - This handles sending of mail.
  
 
=== File structure ===
 
=== File structure ===
 +
A Kaitai file documenting the file structure can be found [https://github.com/RiiConnect24/Kaitai-Files/blob/master/Kaitais/nwc24msg.ksy here].
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 18: Line 21:
 
| 0x3
 
| 0x3
 
| 0x4
 
| 0x4
| Magic 0x66436357 "WcCf"
+
| Magic big-endian 0x57634366 "WcCf"
 
|-
 
|-
 
| 0x4
 
| 0x4
 
| 0x7
 
| 0x7
 
| 0x4
 
| 0x4
| Unknown, must always be 8.
+
| Version of config file. Release IOS have it as 8.
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| 0xf
 
| 0xf
 
| 0x8
 
| 0x8
| Wii's friend code, stored as 64-bit integer.
+
| Wii's friend code/NWC24 ID, stored as a 64-bit integer.
 
|-
 
|-
 
| 0x10
 
| 0x10
 
| 0x13
 
| 0x13
 
| 0x4
 
| 0x4
| Unknown, must always be less than 0x20.
+
| NWC24 ID generation, this is incremented before a new ID is calculated (normally when a system format is performed).
 
|-
 
|-
 
| 0x14
 
| 0x14
 
| 0x17
 
| 0x17
 
| 0x4
 
| 0x4
| Unknown, usually 2?
+
| 1 = ID is not registered yet, 2 = ID has been registered.
 
|-
 
|-
 
| 0x18
 
| 0x18
 
| 0x57
 
| 0x57
 
| 0x40
 
| 0x40
| The Wii E-Mail address domain, includes the '@'.
+
| The Wii E-Mail address domain, including the '@'.
 
|-
 
|-
 
| 0x58
 
| 0x58
 
| 0x77
 
| 0x77
 
| 0x20
 
| 0x20
| The chlng value used in HTTP(S) mail POST requests is probably generated from this string?
+
| passwd - Stored from the initial request to account.cgi. Sent as a parameter to send/receive/delete.
 
|-
 
|-
 
| 0x78
 
| 0x78
 
| 0x9b
 
| 0x9b
 
| 0x24
 
| 0x24
| This is the mlchkid string value used in HTTP(S) mail POST requests.
+
| mlchkid - Only used for check.cgi, which is sent over HTTP.
 
|-
 
|-
 
| 0x9c
 
| 0x9c
Line 68: Line 71:
 
| 0x3fb
 
| 0x3fb
 
| 0x4
 
| 0x4
| Normally zero. Enables [[WiiConnect24#WC24_title_booting|WC24 title booting]] when non-zero.
+
| Normally set to zero when sysmenu creates this config file. Enables [[WiiConnect24#WC24_title_booting|WC24 title booting]] when non-zero. KD can't change this field since the function that sets it isn't used, and sysmenu doesn't change this.
 
|-
 
|-
 
| 0x3fc
 
| 0x3fc
 
| 0x3ff
 
| 0x3ff
 
| 0x4
 
| 0x4
| Checksum, this is the sum of the whole file excluding the checksum. This is similar to the NANDBOOTINFO and state.dat checksums.
+
| Checksum. It is calculated by adding every 4 bytes of the file excluding itself (so only the first 1020 bytes), and then ANDing the result by 0xFFFFFFFF. It is similar to the NANDBOOTINFO and state.dat checksums.
 
|-
 
|-
 
|}
 
|}
  
{{stub}}
+
[[Category:Wii Filesystem]]

Latest revision as of 04:25, 11 February 2022

This file contains data used by the WiiConnect24 mail engine. The following list is the default mail engine URLs contained in this file.

All URLs, except account.cgi, are now defunct as of 2013. Nintendo's servers required the internal IOS SSL client certificate to access the servers. RiiConnect24 has restored the functionality, and patches the mail server URLs using a homebrew app the user runs.

File structure

A Kaitai file documenting the file structure can be found here.

Start End Length Description
0x0 0x3 0x4 Magic big-endian 0x57634366 "WcCf"
0x4 0x7 0x4 Version of config file. Release IOS have it as 8.
0x8 0xf 0x8 Wii's friend code/NWC24 ID, stored as a 64-bit integer.
0x10 0x13 0x4 NWC24 ID generation, this is incremented before a new ID is calculated (normally when a system format is performed).
0x14 0x17 0x4 1 = ID is not registered yet, 2 = ID has been registered.
0x18 0x57 0x40 The Wii E-Mail address domain, including the '@'.
0x58 0x77 0x20 passwd - Stored from the initial request to account.cgi. Sent as a parameter to send/receive/delete.
0x78 0x9b 0x24 mlchkid - Only used for check.cgi, which is sent over HTTP.
0x9c 0x31b 0x280 5 HTTP(S) URLs for the mail engine, max 0x80 bytes each.
0x31c 0x3f7 0xdc Reserved
0x3f8 0x3fb 0x4 Normally set to zero when sysmenu creates this config file. Enables WC24 title booting when non-zero. KD can't change this field since the function that sets it isn't used, and sysmenu doesn't change this.
0x3fc 0x3ff 0x4 Checksum. It is calculated by adding every 4 bytes of the file excluding itself (so only the first 1020 bytes), and then ANDing the result by 0xFFFFFFFF. It is similar to the NANDBOOTINFO and state.dat checksums.