BnFTP 2.00 sessions are started the same way as BnFTP 1.00 sessions, but the initial message is different: (UCHAR) Protocol selection. The FTP protocol type code is 0x2. [C>S] CHALLENGE: (USHORT) Message length, including this field. (USHORT) Protocol version (0x200). (ULONG) Platform code. (ULONG) Product code. (ULONG) Unknown; typically zero. Perhaps related to ad banner requests. (ULONG) Unknown; typically zero. Perhaps related to ad banner requests. [S>C] CHALLENGE: (ULONG) Server key. [C>S] FILE_REQUEST: (ULONG) File position to send from. (FILETIME) Existing filetime if applicable, or zero. (ULONG) Client key. (BNBC_CDKEY) CD-Key, as in SID_AUTH_CHECK (36 bytes) (STRING) File name. [S>C] FILE_INFO: (ULONG) File size. (ULONG) Unknown; typically zero. (ULONG) Unknown; typically zero. (FILETIME) Server's filetime for the file. (STRING) File name. After this message, the file is streamed directly, starting at the requested position. The client should close the connection when all of the file data is received. [S>C] FILE_DATA: (Contents of file) If a malformed message or invalid CD-Key is sent, the server closes the connection.