Difference between revisions of "Protocols/OSCAR/SNAC/BUCP REGISTER REQUEST"
Jump to navigation
Jump to search
(→SNAC Data) |
|||
Line 107: | Line 107: | ||
| 0x0602. 0x1502 has also been seen | | 0x0602. 0x1502 has also been seen | ||
|} | |} | ||
+ | |||
+ | === From Aleksandr Shutko: SNAC(17,04) registration request SNAC(17,04) BUCP__REGISTER_REQUEST === | ||
+ | |||
+ | <table width=640 cellSpacing=0 cellPadding=0 border=0> | ||
+ | <tr> | ||
+ | <td> | ||
+ | <br> | ||
+ | Use this snac when you need new ICQ account (uin/password). | ||
+ | Server should reply with [[Protocols/OSCAR/SNAC_17_05|SNAC(17,05)]] containing | ||
+ | new uin. This snac mean that registration finished succesfully. | ||
+ | Server also can reply with [[Protocols/OSCAR/SNAC_17_01|SNAC(17,01)]] if it can't | ||
+ | create new user account. | ||
+ | <br><br> | ||
+ | |||
+ | <table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td> | ||
+ | <table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#E9E9E9 > | ||
+ | |||
+ | <table width=640 cellSpacing=0 cellPadding=0 align=center border=0> | ||
+ | <tr> | ||
+ | <td width=23%> 00 17</td> | ||
+ | <td width=5> </td> | ||
+ | <td>word</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=58%>SNAC family</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> 00 04</td> | ||
+ | <td> </td> | ||
+ | <td>word</td> | ||
+ | <td> </td> | ||
+ | <td>SNAC subtype</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> 00 00</td> | ||
+ | <td> </td> | ||
+ | <td>word</td> | ||
+ | <td> </td> | ||
+ | <td>SNAC flags</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> xx xx xx xx</td> | ||
+ | <td> </td> | ||
+ | <td>dword</td> | ||
+ | <td> </td> | ||
+ | <td>SNAC request-id</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | </td></tr> | ||
+ | <tr><td bgcolor=#E9E9E9> | ||
+ | |||
+ | <!-- TLV 0x01 --> | ||
+ | <table width=640 cellSpacing=0 cellPadding=0 align=center border=0> | ||
+ | <tr><td height=8 colspan=3></td></tr> | ||
+ | <tr><td width=20> </td> | ||
+ | <td> | ||
+ | |||
+ | <table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td> | ||
+ | <table width=100% cellSpacing=2 cellPadding=0 align=center border=0> <tr><td bgcolor=#f9f9f9 > | ||
+ | <table width=610 cellSpacing=0 cellPadding=0 align=center border=0> | ||
+ | <tr> | ||
+ | <td width=20%> 00 01</td> | ||
+ | <td width=5> </td> | ||
+ | <td>word</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>TLV.Type(0x01)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td> xx xx</td> | ||
+ | <td width=5> </td> | ||
+ | <td>word</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>TLV.Length</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | </td></tr> | ||
+ | <tr><td bgcolor=#f9f9f9 > | ||
+ | |||
+ | <table width=610 cellSpacing=0 cellPadding=0 align=center border=0> | ||
+ | <tr> | ||
+ | <td width=20%> 00 00 00 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>just zeros</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> 28 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>word</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>subcmd (request new uin)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> 03 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>word</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>sequence</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> 00 00 00 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>just zeros</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> 00 00 00 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>just zeros</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> xx xx xx xx</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>registration cookie</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> xx xx xx xx</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>registration cookie (the same)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> 00 00 00 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>just zeros</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> 00 00 00 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>just zeros</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> 00 00 00 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>just zeros</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> 00 00 00 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>just zeros</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> xx xx</td> | ||
+ | <td width=5> </td> | ||
+ | <td>word</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>password string len (LE)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> xx .. xx 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>string</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>password string (asciiz)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> xx xx xx xx</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>registration cookie (the same)</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> 00 00 00 00</td> | ||
+ | <td width=5> </td> | ||
+ | <td>dword</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>just zeros</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td width=20%> xx xx</td> | ||
+ | <td width=5> </td> | ||
+ | <td>word</td> | ||
+ | <td width=5> </td> | ||
+ | <td width=60%>unknown value (random?)</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | </td></tr> | ||
+ | </table> | ||
+ | </td></tr></table> | ||
+ | |||
+ | </td><td width=5> </td> | ||
+ | </tr> | ||
+ | <tr><td height=5 colspan=3> </td></tr> | ||
+ | </table> | ||
+ | |||
+ | </td></tr></table> | ||
+ | </td></tr></table> | ||
+ | </td></tr></table> | ||
+ | |||
+ | <br>Example SNAC dump with flap header: | ||
+ | <table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td> | ||
+ | <table width=100% cellSpacing=2 cellPadding=0 border=0><tr> | ||
+ | <td bgcolor=#E9E9E9 > | ||
+ | <font size=3><pre style="font-size: 13px"> | ||
+ | |||
+ | 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...... | ||
+ | |||
+ | </pre></font> | ||
+ | </td></tr></table> | ||
+ | </td></tr></table> | ||
+ | |||
+ | |||
+ | |||
+ | [[Category:With_Contrib]] | ||
+ | |||
=== BUCP SNACs === | === BUCP SNACs === |
Latest revision as of 06:21, 13 February 2021
OSCAR Protocol |
Introduction • Terms • Clients |
Basic |
Datatypes • FLAP • SNAC • TLV |
UUIDs • Errors • Tool IDs |
Host Interaction |
Rate Limits • Migration • Messages |
Other Services |
ADMIN • ADVERT • ALERT |
BART • BOS • BUCP • CHAT |
CHAT_NAV |
Tutorials |
Sign On • BART • Rendezvous |
ICBM • Locate • Buddies |
Foodgroups |
OSERVICE (0x0001) |
LOCATE (0x0002) |
BUDDY (0x0003) |
ICBM (0x0004) |
ADVERT (0x0005) |
INVITE (0x0006) |
ADMIN (0x0007) |
POPUP (0x0008) |
PD (0x0009) |
USER_LOOKUP (0x000A) |
STATS (0x000B) |
TRANSLATE (0x000C) |
CHAT_NAV (0x000D) |
CHAT (0x000E) |
ODIR (0x000F) |
BART (0x0010) |
FEEDBAG (0x0013) |
ICQ (0x0015) |
BUCP (0x0017) |
ALERT (0x0018) |
PLUGIN (0x0022) |
UNNAMED_FG_24 (0x0024) |
MDIR (0x0025) |
ARS (0x044A) |
ID | Origin | Name | Foodgroup | Service | Status | Version |
---|---|---|---|---|---|---|
0x0017, 0x0004 | Client | BUCP__REGISTER_REQUEST | Unspecified | BUCP | Active | 1.15 |
Client registration for legacy ICQ clients.
Contents
SNAC Header
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
|
Example SNAC dump with flap header:
|
BUCP SNACs
|