saransk
03.10.2011 22:08 tkabber
Следует обратить внимание, что UIN передается серверу в строковом формате. Пароль передается также в качестве строки, однако перед передачей пароль необходимо модифицировать с помощью хэша.
Хэш для модификации пароля, массив, содержащий следующие значения: ( 0xF3, 0x26, 0x81, 0xC4, 0x39, 0x86, 0xDB, 0x92, 0x71, 0xA3, 0xB9, 0xE6, 0x53, 0x7A, 0x95, 0x7C ). Модификация пароля заключается в том, что между каждым символом строки пароля, и соответствующим ему по номеру элементом данного массива осуществляется операция XOR (исключающее ИЛИ), и символ в пароле заменяется на полученный результат. Сформированная таким образом строка символов передается серверу в пакете CLI_IDENT.
Recommended by:
@L29Ah: Спасибо, поблевал.
В текущей версии протокола TLV 0x01 не посылается клиенту, посылается только TLV 0x05 — идентификатор возможностей — массив из 16 байт. Список идентификаторов будет подробно рассмотрен нами в будущем, а пока приведу лишь дамп массива, отправляемого мной в текущей версии моего клиента
(0x09, 0x46, 0x13, 0x4D, 0x4C, 0x7F, 0x11, 0xD1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00)
Данный массив почерпнут из примера написания icq-клиента на Visual Basic.
> map chr [0x09, 0x46, 0x13, 0x4D, 0x4C, 0x7F, 0x11, 0xD1, 0x82, 0x22, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]
"\tF\DC3ML\DEL\DC1\209\130\"DEST\NUL\NUL"
чо сказать то хотел?
DEST\0!
IT'S YOUR DESTINY
алсо, это говно настолько занимательно, что я уже думаю реализовать свой сервер
На Visual Basic, надеюсь?
нет, исключительно на брейнфаке.