Client use this packet in FLAP channel 0x01 based authorization
sequence. So client should send it
on FLAP channel 0x01. Server should reply via
srv_cookie packet, containing BOS address/cookie or via
auth_failed packet, containing error code.
Passwords are roasted when sent to the host. This is done so they
aren't sent in "clear text" over the wire, although they are still
trivial to decode. Roasting is performed by first xoring each byte
in the password with the equivalent modulo byte in the roasting
array (
0xF3, 0x26, 0x81, 0xC4, 0x39, 0x86, 0xDB, 0x92,
0x71, 0xA3, 0xB9, 0xE6, 0x53, 0x7A, 0x95, 0x7C
)
|
00 00 00 01 |
dword |
protocol version number |
|
|
|
00 01 |
|
word |
|
TLV.Type(0x01) - screen name (uin) |
xx xx |
|
word |
|
TLV.Length |
|
xx .. |
|
string |
|
Screen name (uin) |
|
|
| |
|
|
|
00 02 |
|
word |
|
TLV.Type(0x02) - roasted password |
xx xx |
|
word |
|
TLV.Length |
|
xx .. |
|
array |
|
roasted password array |
|
|
| |
|
|
|
00 03 |
|
word |
|
TLV.Type(0x03) - client id string |
xx xx |
|
word |
|
TLV.Length |
|
xx .. |
|
string |
|
Client id string (name, version) |
|
|
| |
|
|
|
00 16 |
|
word |
|
TLV.Type(0x16) - client id |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
Client id number |
|
|
| |
|
|
|
00 17 |
|
word |
|
TLV.Type(0x17) - client major version |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
Client major version |
|
|
| |
|
|
|
00 18 |
|
word |
|
TLV.Type(0x18) - client minor version |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
Client minor version |
|
|
| |
|
|
|
00 19 |
|
word |
|
TLV.Type(0x19) - client lesser version |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
Client lesser version |
|
|
| |
|
|
|
00 1A |
|
word |
|
TLV.Type(0x1A) - client build number |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
Client build number |
|
|
| |
|
|
|
00 14 |
|
word |
|
TLV.Type(0x14) - distribution number |
00 04 |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
Distribution number |
|
|
| |
|
|
|
00 0F |
|
word |
|
TLV.Type(0x0F) - client language (2 symbols) |
xx xx |
|
word |
|
TLV.Length |
|
xx .. |
|
string |
|
Client language |
|
|
| |
|
|
|
00 0E |
|
word |
|
TLV.Type(0x0E) - client country (2 symbols) |
xx xx |
|
word |
|
TLV.Length |
|
xx .. |
|
string |
|
Client country |
|
|
| |
|
|
|
|