/shared2/sys/net/02/config.dat

From WiiBrew
< /shared2‎ | sys‎ | net‎ | 02
Jump to navigation Jump to search

This file contains the Wii's Internet connection configuration. It is composed of an 8-byte header and 3 connection entries of 0x91C each.

struct config
{
  u64 header;			// 0x00000000 0x01070000
  connection connection1;
  connection connection2;
  connection connection3;
};

Where connection is defined as:

typedef struct {
  u8 selected;		// 0x26: not selected.  0xa6: selected
  u8 padding_1[1987];	// 0x00
  u8 ssid[32];		// Access Point name.

  u8 padding_2;	// 0x00
  u8 ssid_length;	// length of ssid[] (AP name) in bytes.
  u8 padding_3[2];	// 0x00

  u8 padding_4;	// 0x00
  u8 encryption;	// (Probably) Encryption.  OPN: 0x00, WEP: 0x01, WPA-PSK (TKIP): 0x04, WPA2-PSK (AES): 0x05, WPA-PSK (AES): 0x06
  u8 padding_5[2];	// 0x00

  u8 padding_6;	// 0x00
  u8 key_length;	// length of key[] (encryption key) in bytes.
  u8 padding_7[2];	// 0x00

  u8 key[64];		// Encryption key

  u8 padding_8[236];	// 0x00
} connection;

Since I don't have a wired adapted I didn't check how wired connections were recorded. Also, I only checked connections with IPs assigned by DHCP so static connections may be different.

I'm also guessing is that u8 selected may actually be 8 flags:

Connection selected 
  |  Connection not blank?
  |   |
  1 0 1 0  0 1 1 0
             | |
             | Wireless?
          Dynamic IP?