Packets/Login/Vanilla
Jump to navigation
Jump to search
1.1.2.4125
It's worth noting that, for this build, the client automatically disconnect after a successful login challenge and proof exchange and sends a reconnect packet right away instead of asking for the realm list.
Challenge packets:
Offset | Type | Name | Description |
---|---|---|---|
0x0 | uint8 | command | 0x0 |
0x1 | uint8 | error | |
0x2 | uint16 | size | |
0x4 | char[4] | gamename | 'WoW' |
0x8 | uint8[3] | version | 0x01 0x01 0x02 |
0xB | uint16 | build | 4125, aka Revision |
0xD | char[4] | platform | eg 'x86' |
0x11 | char[4] | os | eg 'Win' |
0x15 | char[4] | country | eg 'enUS' |
0x19 | uint32 | worldregion_bias | ? |
0x1D | uint32 | ip | client_ip |
0x21 | uint8 | account_name_len | |
0x22 | char[account_name_len] | account_name |
Offset | Type | Name | Description |
---|---|---|---|
0x1 | uint8 | command | 0x0 |
0x2 | uint8 | unk | |
0x3 | uint8 | err | |
0x4 | char[32] | B | SRP public server ephemeral |
0x24 | uint8 | g_len | SRP generator length |
0x25 | uint8 | g | SRP generator |
0x26 | uint8 | n_len | SRP modulus length |
0x27 | char[32] | n | SRP modulus |
0x47 | char[32] | srp_salt | SRP user's salt |
0x47 | char[16] | crc_salt | A salt to be used in AuthLogonProof_Client.crc_hash |
Proof packets:
Offset | Type | Name | Description |
---|---|---|---|
0x0 | uint8 | command | 0x1 |
0x1 | uint8[32] | a | |
0x21 | uint8[20] | m1 | |
0x35 | uint8[20] | crc_hash | |
0x49 | uint8 | num_keys |
Offset | Type | Name | Description |
---|---|---|---|
0x0 | uint8 | command | 0x1 |
0x1 | uint8 | error | |
0x2 | uint8[20] | m2 | |
0x16 | uint32 | unk |
Reconnection challenge packets:
AuthReconnectionChallenge_Client has the same structure as AuthLogonChallenge_Client, except that the command is 0x2.
Offset | Type | Name | Description |
---|---|---|---|
0x0 | uint8 | command | 0x2 |
0x1 | uint8 | error | |
0x2 | char[16] | challenge_data | random data, used as a challenge |
0x12 | uint64 | unk1 | |
0x1A | uint64 | unk2 |
Reconnection proof packets:
Offset | Type | Name | Description |
---|---|---|---|
0x0 | uint8 | command | 0x3 |
0x1 | char[16] | proof_data | |
0x11 | char[20] | client_proof | |
0x25 | char[20] | unk_hash | |
0x39 | uint8 | unk |
To check if the client proof is correct, the server must calculate SHA1(account_name | proof_data | challenge_data | session_key) and compare it to client_proof.
Offset | Type | Name | Description |
---|---|---|---|
0x0 | uint8 | command | 0x3 |
0x1 | uint8 | error |