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

/shared2/sys/net/02/config.dat: Difference between revisions

From WiiBrew
< /shared2 | sys | net | 02
Jump to navigation Jump to search
MetaFight (talk | contribs)
No edit summary
MetaFight (talk | contribs)
m formatting
Line 1: Line 1:
This file contains the Wii's Internet connection configuration. It is composed of an 8-byte header and 3 connection entries of 0x91C each.
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
<source lang="C">
{
struct config
  u64 header; // 0x00000000 0x01070000
{
  connection connection1;
    u64 header; // 0x00000000 0x01070000
  connection connection2;
    connection connection1;
  connection connection3;
    connection connection2;
};
    connection connection3;
};
</source>


Where <code>connection</code> is defined as:
Where <code>connection</code> is defined as:


typedef struct {
<source lang="C">
  u8 selected; // 0x26: not selected.  0xa6: selected
typedef struct
  u8 padding_1[1987]; // 0x00
{
  u8 ssid[32]; // Access Point name.
    u8 selected; // 0x26: not selected.  0xa6: selected
    u8 padding_1[1987]; // 0x00
  u8 padding_2; // 0x00
    u8 ssid[32]; // Access Point name.
  u8 ssid_length; // length of ssid[] (AP name) in bytes.
 
  u8 padding_3[2]; // 0x00
    u8 padding_2; // 0x00
    u8 ssid_length; // length of ssid[] (AP name) in bytes.
  u8 padding_4; // 0x00
    u8 padding_3[2]; // 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_4; // 0x00
    u8 encryption; // (Probably) Encryption.  OPN: 0x00, WEP: 0x01, WPA-PSK (TKIP): 0x04, WPA2-PSK (AES): 0x05, WPA-PSK (AES): 0x06
  u8 padding_6; // 0x00
    u8 padding_5[2]; // 0x00
  u8 key_length; // length of key[] (encryption key) in bytes.
 
  u8 padding_7[2]; // 0x00
    u8 padding_6; // 0x00
    u8 key_length; // length of key[] (encryption key) in bytes.
  u8 key[64]; // Encryption key
    u8 padding_7[2]; // 0x00
 
  u8 padding_8[236]; // 0x00
    u8 key[64]; // Encryption key
} connection;
 
    u8 padding_8[236]; // 0x00
} connection;
</source>


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.
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.

Revision as of 16:47, 19 June 2009

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?