Packets/Login/Vanilla

From wowdev
Revision as of 21:05, 6 February 2016 by Gamhea (talk | contribs) (Created page with "== 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 packe...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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:

AuthLogonChallenge_Client
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
AuthLogonChallenge_Server
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:

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

AuthReconnectionChallenge_Server
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:

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

AuthReconnectionProof_Server
Offset Type Name Description
0x0 uint8 command 0x3
0x1 uint8 error