ID
|
Origin
|
Name
|
Foodgroup
|
Service
|
Status
|
Version
|
0x0017, 0x0004
|
Client
|
BUCP__REGISTER_REQUEST
|
Unspecified
|
BUCP
|
Active
|
1.15
|
Client registration for legacy ICQ clients.
Foodgroup
|
uint16 (word)
|
00 17
|
Subgroup
|
uint16 (word)
|
00 04
|
Flags
|
uint16 (word)
|
00 00
|
Request ID
|
uint32 (dword)
|
00 00 00 00
|
SNAC Data
Unconfirmed: This SNAC contains no data
This is the SNAC sent to the auth server to request a new ICQ number. It should be the very first thing sent, after the initial "New Connection."
Length
|
Description
|
2 bytes
|
Family (0x0017)
|
2 bytes
|
Subtype (0x0004)
|
2 bytes
|
Flags
|
4 bytes
|
Snac Request ID
|
2 bytes
|
0x0001
|
2 bytes
|
Length L of the following
|
L bytes
|
DATA
|
DATA
The ICQ registration info. All chunks are in, uh, network byte order, I guess (the number "5" is sent as "x05 00").
Length
|
Description
|
2 bytes
|
0x0000
|
2 bytes
|
0x0000
|
2 bytes
|
0x2800
|
2 bytes
|
0x0300
|
4 bytes
|
0x0000 0000
|
4 bytes
|
0x0000 0000
|
2 bytes
|
0xec38 0000 - Some type of random cookie?
|
2 bytes
|
0xec38 0000 - Same number as above
|
4 bytes
|
0x0000 0000
|
4 bytes
|
0x0000 0000
|
4 bytes
|
0x0000 0000
|
4 bytes
|
0x0000 0000
|
2 bytes
|
Length L of the following
|
L bytes
|
The password you wish to use for the new ICQ account. In plain text and null terminated.
|
2 bytes
|
0xec38 0000 - Same number as above
|
2 bytes
|
0x0000
|
2 bytes
|
0x0602. 0x1502 has also been seen
|
From Aleksandr Shutko: SNAC(17,04) registration request SNAC(17,04) BUCP__REGISTER_REQUEST
Use this snac when you need new ICQ account (uin/password).
Server should reply with SNAC(17,05) containing
new uin. This snac mean that registration finished succesfully.
Server also can reply with SNAC(17,01) if it can't
create new user account.
00 17 |
|
word |
|
SNAC family |
00 04 |
|
word |
|
SNAC subtype |
00 00 |
|
word |
|
SNAC flags |
xx xx xx xx |
|
dword |
|
SNAC request-id |
|
|
|
00 01 |
|
word |
|
TLV.Type(0x01) |
xx xx |
|
word |
|
TLV.Length |
|
00 00 00 00 |
|
dword |
|
just zeros |
28 00 |
|
word |
|
subcmd (request new uin) |
03 00 |
|
word |
|
sequence |
00 00 00 00 |
|
dword |
|
just zeros |
00 00 00 00 |
|
dword |
|
just zeros |
xx xx xx xx |
|
dword |
|
registration cookie |
xx xx xx xx |
|
dword |
|
registration cookie (the same) |
00 00 00 00 |
|
dword |
|
just zeros |
00 00 00 00 |
|
dword |
|
just zeros |
00 00 00 00 |
|
dword |
|
just zeros |
00 00 00 00 |
|
dword |
|
just zeros |
xx xx |
|
word |
|
password string len (LE) |
xx .. xx 00 |
|
string |
|
password string (asciiz) |
xx xx xx xx |
|
dword |
|
registration cookie (the same) |
00 00 00 00 |
|
dword |
|
just zeros |
xx xx |
|
word |
|
unknown value (random?) |
|
|
| |
|
|
|
|
Example SNAC dump with flap header:
2A 02 38 C7 00 49 00 17 00 04 00 00 00 00 00 00 *.8..... ........
00 01 00 3B 00 00 00 00 28 00 03 00 00 00 00 00 ...;.... (.......
00 00 00 00 3C 38 00 00 3C 38 00 00 00 00 00 00 .....8.. .8......
00 00 00 00 00 00 00 00 00 00 00 00 09 00 70 61 ........ ......pa
73 73 77 6F 72 64 00 3C 38 00 00 00 00 D1 01 ssword.. 8......
|
|
BUCP SNACs
SNAC List
Subgroup
|
Origin
|
Name
|
0x0001
|
Any
|
BUCP__ERR
|
This is the error SNAC for the BUCP foodgroup.
|
0x0002
|
Client
|
BUCP__LOGIN_REQUEST
|
Client login request.
|
0x0003
|
Host
|
BUCP__LOGIN_RESPONSE
|
Host login response, will contain reconnect information with login cookie or an error code and/or URL.
|
0x0004
|
Client
|
BUCP__REGISTER_REQUEST
|
Client registration for legacy ICQ clients.
|
0x0005
|
Host
|
BUCP__REGISTER_RESPONSE
|
Host response to BUCP__REGISTER_REQUEST. May contain confirmation of registration or an error code and/or URL.
|
0x0006
|
Client
|
BUCP__CHALLENGE_REQUEST
|
Request challenge for login request.
|
0x0007
|
Host
|
BUCP__CHALLENGE_RESPONSE
|
Response to BUCP__CHALLENGE_REQUEST with challenge.
|
0x0008
|
Client
|
BUCP__ASASN_REQUEST
|
AOL Suggest A Screenname Request, suggests screennames based on other parameters.
|
0x0009
|
Host
|
BUCP__ASASN_RESPONSE
|
Response to BUCP__ASASN_REQUEST with a list of suggestions
|
0x000A
|
Host
|
BUCP__SECURID_REQUEST
|
Host SecurID request for client to continue logging in.
|
0x000B
|
Client
|
BUCP__SECURID_RESPONSE
|
Client response to BUCP__SECURID_RESPONSE with SecurID code.
|
0x000C
|
Client
|
BUCP__REGISTRATION_IMAGE_REQUEST
|
Request registration image, or CAPTCHA
|
0x000D
|
Host
|
BUCP__REGISTRATION_IMAGE_REPLY
|
Response to BUCP__REGISTRATION_IMAGE_REQUEST containing image information
|
|