BNETDocs
C>S 0x31 SID_CHANGEPASSWORD
Message Id:0x31
Message Name:SID_CHANGEPASSWORD
Direction:Client to Server
Used By:Diablo II, Diablo II Lord of Destruction
Diablo Retail, Diablo Shareware
Starcraft Japanese, Starcraft Broodwar
Starcraft Shareware, Starcraft Original
Warcraft II BNE
Format:

(UINT32) Client Token
(UINT32) Server Token
(UINT32) [5] Old password hash
(UINT32) [5] New password hash
(STRING) Account name 

Remarks

Changes Battle.net account password. This message must be sent before you logon.

Passwords should be converted to lower case before hashing.

Comments
xpeh

(DWORD) [5] Old password hash

This is completely wrong. It is not password hash, but DoubleHashPassword()

DWORD) [5] New password hash is real password hash.

This relies to old logon system (before WAR3).