Transport Layer:Transmission Control Protocol (TCP)
Application Layer:Battle.net v1 TCP Messages (SID)
Message Id:0x36
Message Name:SID_CDKEY2
Direction:Client to Server
Used By:Warcraft II BNE
Message Format:
(does not include protocol header)
 (UINT32)     Spawn Key (1 is TRUE, 0 is FALSE)
 (UINT32)     Key length
 (UINT32)     Key Product value 
 (UINT32)     Key Public value
 (UINT32)     Server Token
 (UINT32)     Client Token
  (UINT8)[20] Hashed Key Data
(STRING)     Key owner name *


This packet is an updated version of SID_CDKEY (0x30), designed to prevent CDKeys from being stolen, by sending them hashed instead of plain-text.

The data that should be hashed is for 16 character keys (hashed using BSHA1):

  1. (UINT32) Client Token
  2. (UINT32) Server Token
  3. (UINT32) Key Product value (from decoded CD key)
  4. (UINT32) Key Public value (from decoded CD key)
  5. (UINT32) Key Private value (from decoded CD key)

This differs from the hash in [SID_AUTH_CHECK].

* The CD Key owner name must be no greater than 15 characters, otherwise it becomes trimmed by Battle.net.

| Edited: Anonymous


no one has commented yet.