Line 515:
Line 515:
| 0x18-0x1B
| 0x18-0x1B
| u32 NGWord version the username was last checked with. If this value is less than the u32 stored in the NGWord CFA "romfs:/version.dat", the system then checks the username string with the bad-word list CFA again, then updates this field with the value from the CFA
| u32 NGWord version the username was last checked with. If this value is less than the u32 stored in the NGWord CFA "romfs:/version.dat", the system then checks the username string with the bad-word list CFA again, then updates this field with the value from the CFA
+
|}
+
+
+
+
===WiFi Slot Structure===
+
+
====Network structure====
+
This is used twice in the actual WiFi slot structure.
+
{| class="wikitable" border="1"
+
|-
+
! Offset
+
! Size
+
! Description
+
|-
+
| 0x0
+
| 0x1
+
| Whether the network was set or not?
+
|-
+
| 0x1
+
| 0x1
+
| Whether to use this network strucutre to connect?
+
|-
+
| 0x2
+
| 0x1
+
| Whether this structure is the first (0) or the second (1) in the larger WiFi slot structure?
+
|-
+
| 0x3
+
| 0x1
+
| Padding ?
+
|-
+
| 0x4
+
| 0x20
+
| SSID of the network, without a trailing nullbyte.
+
|-
+
| 0x24
+
| 0x1
+
| Length of the SSID.
+
|-
+
| 0x25
+
| 0x1
+
| always 0x07 ?
+
|-
+
| 0x26
+
| 0x2
+
| Padding ?
+
|-
+
| 0x28
+
| 0x40
+
| Plaintext of the passphrase of the network, without a trailing nullbyte.
+
|-
+
| 0x68
+
| 0x20
+
| PBKDF2 of the passphrase and SSID (http://jorisvr.nl/wpapsk.html).
+
|-
+
|}
+
+
====Actual structure====
+
{| class="wikitable" border="1"
+
|-
+
! Offset
+
! Size
+
! Description
+
|-
+
| 0x0
+
| 0x4
+
| Some sort of checksum.
+
|-
+
| 0x4
+
| 0x88
+
| First network structure. Only set if the network was set "normally", or was the last to be set using WPS during the session.
+
|-
+
| 0x8C
+
| 0x20
+
| Padding.
+
|-
+
| 0xAC
+
| 0x88
+
| Second network structure. Only set if the network was set using WPS, otherwise 0-filled.
+
|-
+
| 0x134
+
| 0x20C
+
| Padding.
+
|-
+
| 0x340
+
| 0x1
+
| Whether to automatically get the IP address (use DHCP) or not, defaults to 1.
+
|-
+
| 0x341
+
| 0x1
+
| Whether to automatically get the DNS or not, defaults to 1.
+
|-
+
| 0x342
+
| 0x2
+
| Padding ?
+
|-
+
| 0x344
+
| 0x4
+
| IP address, to use if 0x340 is false.
+
|-
+
| 0x348
+
| 0x4
+
| IP address of the gateway, to use if 0x340 is false.
+
|-
+
| 0x34C
+
| 0x4
+
| Subnetwork mask, to use if 0x340 is false.
+
|-
+
| 0x350
+
| 0x4
+
| IP address of the primary DNS , to use if 0x341 is false.
+
|-
+
| 0x354
+
| 0x4
+
| IP address of the secondary DNS, to use if 0x341 is false.
+
|-
+
| 0x358
+
| 0x4
+
| Byte 0x0 could be the channel? Only set if the network was the last to be set during the session.
+
|-
+
| 0x35C
+
| 0x4
+
| IP address to use. Only set if the network was the last to be set during the session.
+
|-
+
| 0x360
+
| 0x8
+
| Byte 0x6 could be the channel? Only set if the network was the last to be set during the session.
+
|-
+
| 0x368
+
| 0x1
+
| Whether to use a proxy or not, defaults to 0.
+
|-
+
| 0x369
+
| 0x1
+
| Whether to use a basic authentication for the proxy, defaults to 0.
+
|-
+
| 0x36A
+
| 0x2
+
| Port to use for the proxy, defaults to 1.
+
|-
+
| 0x36C
+
| 0x30
+
| URL/address of the proxy, including a trailing nullbyte.
+
|-
+
| 0x39C
+
| 0x34
+
| Padding.
+
|-
+
| 0x3D0
+
| 0x20
+
| Username to use for basic authentication, including a trailing nullbyte.
+
|-
+
| 0x3F0
+
| 0x20
+
| Password to use for basic authentication, including a trailing nullbyte.
+
|-
+
| 0x410
+
| 0x2
+
| Padding ?
+
|-
+
| 0x412
+
| 0x2
+
| MTU value, defaults to 1400 and ranges between 576 and 1500, inclusive.
+
|-
+
| 0x414
+
| 0x7EC
+
| Padding.
+
|-
|}
|}