File Transfer Protocol Version 2
Version 2 of Battle.net's file transfer protocol (BNFTPv2) is a simple extension to version one, which allows Battle.net to validate a CD key before allowing a file transfer to take place.
The request is sent to Battle.net after connecting and requesting protocol BNFTP (0x02):
(WORD) Length of this message
(WORD) Protocol Version
(DWORD) Platform ID
(DWORD) Product ID
(DWORD) Banner ID
Battle.net responds to this request by sending a challenge in the form of the Server Token to be used as part of the CD key hash:
(DWORD) Server Token
The client should respond to this challenge with the following message:
(DWORD) Starting position (facilitates resuming)
(FILETIME) Local filetime
(DWORD) Client Token
(DWORD) Key Length
(DWORD) Key's product value
(DWORD) Key's public value
(DWORD) Unknown (Always 0)
(DWORD) CD key data
The CD key is hashed in exactly the same manner as for SID_AUTH_CHECK. If the key is rejected, the server disconnects. If the key is accepted, the server responds with the following message:
(DWORD) Length of this message (not including file data)
(DWORD) File size
(DWORD) Banner ID
(DWORD) Banner Extension
(FILETIME) Remote Filetime
(VOID) File data
After receiving the complete file data (determined by the filesize), the client terminates the connection.
The starred fields (*) are only required when downloading an ad banner. In other cases, they should be set to 0.
Version 2 of BNFTP actually has a version of 0x200 (512).
Site scripts and design copyrights reserved to Don Cullen.
Contents copyrighted to Blizzard and their parent corporation, Vivendi.
Main credits for contents goes to Arta. View the rest of credits.
Demented Minds copyrights reserved to Don Cullen 2003-present.
Copyright infringements will be prosecuted to the fullest extent allowable by law.
Please view our legal disclaimer and terms of service.