Command: 0x02 - File Request/Response | ||||
Data type | Content | Name | Description | |
DWORD | xx xx xx xx | CHECKSUM | Checksum of the packet | |
WORD.L | EE 07 | COMMAND | Should be 0xEE07 for request, 0xDA07 for response | |
WORD.L | 0E 00 | UNKNOWN | Unknown, always 0x0E00 (14) | |
WORD.L | xx xx | SEQ | Sequence number | |
12 BYTES | 00 .. | UNKNOWN | 12 empty bytes | |
WORD.L | 1A 00 | SUBCMD | A subcommand: advanced message format | |
WORD | xx xx | UNKNOWN | Unknown, 0x0000 - for accept, 0x0100 - for decline, also seen 0x0400 | |
WORD.L | xx xx | STATUS | Current status of the user: 00 00 - Online 00 01 - Invisible 01 00 - Away 02 00 - DND 04 00 - N/A 10 00 - Occupied 20 00 - Free For Chat | |
WORD.L | xx xx | MSGLEN | Message length. Should be at least one byte. | |
STRING | xx .. 00 | UNKNOWN | NULL terminated message. If it's a file decline this message contains reason. | |
WORD.L | xx xx | LEN | Message length | |
16 BYTES | xx .. | SIGNATURE | Signature of the message. Identical in every message type. | |
WORD | 00 00 | UNKNOWN | Always empty | |
DWORD.L | xx xx xx xx | TEXTLEN | Length of a text command | |
STRING | xx .. | TEXTCMD | Text command, should be 'File' | |
15 BYTES | 00 00 xx 00 00 01 00 00 00 00 00 00 00 00 00 | UNKNOWN | Seen xx = 0x00(Sending contacts, contact requests), 0x01(File and Chat requests/responses) | |
DWORD.L | xx xx xx xx | DATALEN | Length of remaining data in the packet | |
DWORD.L | xx xx xx xx | LEN | Length of files description | |
STRING | xx .. | TEXT | Files description | |
WORD | xx xx | PORT | On response: bind server to this Port, after sending this packet client will connect to it and continue file acks; On request: there's set the port for unknown reasons, but server doesn't bind to it(may be recommended port). | |
WORD.L | xx xx | SEQ2 | Sequence number, increased by 1 when file was sent successfull. Empty in responses. | |
WORD.L | xx xx | LEN | Length of filename | |
STRING | xx .. | FILENAME | Filename | |
DWORD.L | xx xx xx xx | FILELEN | Length of all files | |
DWORD.L | xx xx xx xx | PORT | Port again |