Disclaimer: All information on this page is not guaranteed to be correct or up to date. Everything is preliminary and is subject to change at any time.
Packet Structure
4B 4B 2B
YMSG Version pktlen
Service Status Session Id
DATA
0 - 65535
Currently the YMSG packet version is v18 (0x0012)

Verify - Service ID: 76 (0x4C)

Server returns a verify packet with a status of 1.
Status: 0
Session ID: 0
Parameters: None

Authentication - Service ID: 87 (0x57)

Status: 0 - Sent to the server
Session ID: 0
Parameters Status: 1 - Sent from the server
The server will reply with a session id. Use this for any further packet sent to the server. Parameters

Authentication Response - Service ID: 84 (0x54)

Status: 12 (0x0000000c) - Sent to the server
Parameters

List - Service ID: 85 (0x55)

Contains information about the currently signed in user. (You)
Parameters

YMSG List v15 - Service ID: 241 (0xf1)

YMSG Status v15 - Service ID: 240 (0xf0)

YMSG SMS Message - Service ID: 746 (0x2ea)

YMSG Buddy Authentication - Service ID: 216 (0xd6)

Status: 3 - Buddy Requests

Status 0 - Buddy Response

Status 1 - 3rd Party Buddy Response

YMSG Add Buddy - Service ID: 131 (0x83)

YMSG Conference Invitation - Service ID: 24 (0x18)

YMSG Mobile IM Setup - Service ID: 749 (0x2ed)

Received from the server after the user sets up mobile IM

Computing the Auth Hash

X : Auth Crumb you get from https://login.yahoo.com/config/pwtoken_login...
Y : Challenge algorithm you get from the Authentication Packet (87) response (parameter 94)
  1. MD5(X concat Y)
  2. Base64 encode the MD5 hash
  3. Replace the + sign with a .
  4. Replace the / sign with a _
  5. Replace the = sign with a -
  6. Done