Protocols/OSCAR/SNAC/BUCP REGISTER REQUEST: Difference between revisions
Jump to navigation
Jump to search
(Created page with "{{Protocols/OSCAR}} {{Protocols/OSCAR/SNAC/Stats |origin={{Protocols/OSCAR/SNAC/BUCP__REGISTER_REQUEST/Origin}} |name=BUCP__REGISTER_REQUEST |id=0x0017, 0x0004 |service={{Prot...") |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 19: | Line 19: | ||
=== SNAC Data === | === SNAC Data === | ||
Unconfirmed: This SNAC contains no 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." | |||
{| border="1" | |||
! 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"). | |||
{| border="1" | |||
! 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 === | |||
<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.
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
|