После отправки на сервер пакета с запросом списка контактов (13 04) или (13 05), в ответ получим пакет содержащий список контактов. Попробуем разобраться в данных этого пакета. Секции с похожими данными удалены, чтобы сократить разбор пакета!
Разбор пакета от сервера:
2a
// Ключ пакета 02
// Номер канала 5683
// Счетчик пакета (значение: 22147) 0881
// Длина данных (значение: 2177 байта) 0013
// Идентификатор группы (13 - группа пакетов для операций с контактами и группами контактов ) 0006
// Идентификатор пакета в группе (06 - п акет со списком контактов )00
// Флаг наличия в пакете данных о версии пакета 00
// Флаг наличия в пакете вложенных данных 00010004
// Флаги для пометки ответов от сервера 00
// Версия структуры данных 002e
// Количество секций с данными (значение: 46) // Секция: 0 0000
// Длина данных имени секции (значение: 0 байт) 0000
// Идентификатор группы 0000
// Идентификатор секции 0001
// Тип секции (группа) 0008
// Длина дополнительных данных секции (значение: 8 байт) 00c8
// Метка блока данных с идентификаторами всех групп контактов 0004
// Длина данных в блоке 7246 // Идентификатор группы контактов (всегда 2 байта) 0001
// Идентификатор группы контактов (всегда 2 байта) // Секция: 1 000b
// Длина данных имени секции (значение: 11 байт) Import Time
// Имя секции 0000
// Идентификатор группы 0001
// Идентификатор секции 0013
// Тип секции (секция "import time") 0008
// Длина дополнительных данных секции (значение: 8 байт) 00d4
// Метка блока данных с временем первого занесения контакта в список 0004
// Длина данных в блоке 435a12d9
// Время первой операции со список контактов (значение: 22.10.2005 14:22:17) // Секция: 2 0007
// Длина данных имени секции (значение: 7 байт) 3774607
// Имя секции (ICQ UIN) 0000
// Идентификатор группы 0002
// Идентификатор секции 0019
// Тип секции (временный контакт) 000c
// Длина дополнительных данных секции (значение: 12 байт) 006d
// Метка блока данных с временем последнего взаимодействия с этим контактом 0008
// Длина данных в блоке 4cff34fb // Время последнего взаимодействия (значение: 08.12.2010 11:34:19) 3f800000
// Оценка взаимодействия этого контакта (значение: 32831) // Секция: 3 0000
// Длина данных имени секции (значение: 0 байт) 0000
// Идентификатор группы 0021
// Идентификатор секции 0015
// Тип секции (секция "атрибуты списков контактов") 0000
// Длина дополнительных данных секции (значение: 0 байт) // Секция: 4 0008
// Длина данных имени секции (значение: 8 байт) ICQ-MDIR
// Имя секции 0000
// Идентификатор группы 002c
// Идентификатор секции 0020
// Тип секции (секция "icq-mdir") 0020
// Длина дополнительных данных секции (значение: 32 байта) 015c
// Метка неизвестного блока данных ^ 0010
// Длина данных в блоке 4e2cdb4f80834806a16c2f14907d56ff
// Неизвестные данные ^ 015d
// Метка неизвестного блока данных ^ 0008
// Длина данных в блоке 40e3dd8ad1419ca2
// Неизвестные данные ^ // Секция: 5 0000
// Длина данных имени секции (значение: 0 байт) 0000
// Идентификатор группы 0079
// Идентификатор секции 001d
// Тип секции (секция "vanity info") 0070
// Длина дополнительных данных секции (значение: 112 байта) 0067
// Метка блока данных с временем начала сбора статистики 0004
// Длина данных в блоке 4aba303a
// Время начала сбора статистики (значение: 23.09.2009 18:27:06) 0150
// Метка блока данных с количеством отправленных сообщений от начала сбора статистики 0004
// Длина данных в блоке 000002e1
// Всего отправлено сообщений (значение: 737) 0153
// Метка блока данных с количеством полученных сообщений от начала сбора статистики 0004
// Длина данных в блоке 000004e3
// Всего получено сообщений (значение: 1251) 0152
// Метка блока данных с количеством отправленных "Away" сообщений от начала сбора статистики 0004
// Длина данных в блоке 00000009
// Всего отправлено "Away" сообщений (значение: 9) 0151
// Метка блока данных с количеством дней проведенных в сети от начала сбора статистики 0004
// Длина данных в блоке 00018ee6
// Количество дней (значение: ?) 0160
// Метка блока данных с временем последней активности пользователя 0004
// Длина данных в блоке 4df71517
// Время последней активности (значение: 14.06.2011 12:00:23) 0164
// Метка неизвестного блока данных ^ 0004
// Длина данных в блоке 00000000
// Неизвестные данные ^ 016f
// Метка неизвестного блока данных ^ 0004
// Длина данных в блоке 00000005
// Неизвестные данные ^ 0170
// Метка неизвестного блока данных ^ 0004
// Длина данных в блоке 00000030
// Неизвестные данные ^ 0171
// Метка неизвестного блока данных ^ 0004
// Длина данных в блоке 00000000
// Неизвестные данные ^ 01c3
// Метка неизвестного блока данных ^ 0004
// Длина данных в блоке 4ad1f92d
// Неизвестные данные (значение: 11.10.2009 19:26:37) ^ 01c4
// Метка неизвестного блока данных ^ 0004
// Длина данных в блоке 4ad1f92d
// Неизвестные данные (значение: 11.10.2009 19:26:37) ^ 01c5
// Метка неизвестного блока данных ^ 0004
// Длина данных в блоке 4ad1f92d
// Неизвестные данные (значение: 11.10.2009 19:26:37) ^ 01c6
// Метка неизвестного блока данных ^ 0004
// Длина данных в блоке 39fa1f58
// Неизвестные данные (значение: 28.10.2000 4:35:36) ^ // Секция: 6 0009
// Длина данных имени секции (значение: 9 байт) 314579451
// Имя секции (ICQ UIN) 0000
// Идентификатор группы 0871
// Идентификатор секции 0002
// Тип секции (контакт в списке "видящих") 0016
// Длина дополнительных данных секции (значение: 22 байта) 0131
// Метка блока данных с названием контакта 0012
// Длина данных в блоке Александр
// Название контакта (ник) // Секция: 7 0009 // Длина данных имени секции (значение: 9 байт) 314579451 // Имя секции (ICQ UIN) 0000 // Идентификатор группы 0990 // Идентификатор секции 000e // Тип секции (контакт в списке "игнорируемых") 0016
// Длина дополнительных данных секции (значение: 22 байта) 0131
// Метка блока данных с названием контакта 0012
// Длина данных в блоке Александр // Название контакта (ник) // Секция: 8 0009
// Длина данных имени секции (значение: 9 байт) 288101195 // Имя секции (ICQ UIN) 0000 // Идентификатор группы 0b21 // Идентификатор секции 0003 // Тип секции (контакт в списке "невидящих") 0017
// Длина дополнительных данных секции (значение: 23 байта) 0131
// Метка блока данных с названием контакта в списке 0013
// Длина данных в блоке Синяя Рыба // Название контакта в списке // Секция: 9 000e
// Длина данных имени секции (значение: 14 байт) LastUpdateDate // Имя секции 0000 // Идентификатор группы 3d24 // Идентификатор секции 000f // Тип секции (секция "last update") 0008
// Длина дополнительных данных секции (значение: 8 байт) 0145
// Метка блока данных с временем последнего обновления списка контактов 0004
// Длина данных в блоке 45c80ba2 // Время последнего обновления списка контактов (значение: 06.02.2007 9:01:22) // Секция: 10 0000 // Длина данных имени секции (значение: 0 байт) 0000 // Идентификатор группы 4ab8 // Идентификатор секции 0005 // Тип секции (секция "presence info") 0029
// Длина дополнительных данных секции (значение: 41 байт) 00da
// Метка неизвестного блока данных ^ 0005
// Длина данных в блоке 0002000101
// Неизвестные данные ^ 00d6
// Метка блока данных с "BUDDY PREFS VALID" 0004
// Длина данных в блоке 00420000
// Маска настроек 00c9
// Метка блока данных с "BUDDY PREFS" 0004
// Длина данных в блоке 00400400
// Маска настроек 00d7
// Метка блока данных с "BUDDY PREFS 2" 0004
// Длина данных в блоке 00e00000
// Маска настроек 00d8
// Метка блока данных с "BUDDY PREFS 2 VALID" 0004
// Длина данных в блоке 00e00001 // Маска настроек // Секция: 11 0001
// Длина данных имени секции (значение: 1 байт) 1 // Имя секции 0000 // Идентификатор группы 6389 // Идентификатор секции 0014 // Тип секции (секция "bart info") 0016
// Длина дополнительных данных секции (значение: 22 байта) 00d5
// Метка блока данных с данными "BART" 0012
// Длина данных в блоке 01 // Метка нормальной иконки пользователя 10 // Длинна данных хеша иконки (значение: 16 байт) a1dba53c17dd1afefbd39ed521765bf9 // Хеш иконки пользователя // Секция: 12 0000 // Длина данных имени секции (значение: 0 байт) 0000 // Идентификатор группы 6b0b // Идентификатор секции 0004 // Тип секции (секция "pd info") 0021
// Длина дополнительных данных секции (значение: 33 байта) 00ca
// Метка блока данных с режимом "PD MODE" 0001
// Длина данных в блоке 04
// Режим: ограниченный доступ к информации пользователя (таблица всех значений внизу страницы) 00cb
// Метка блока данных с режимом "PD MASK" 0004
// Длина данных в блоке ffffffff
// Маска разрешающая всем типам контактов доступ к информации пользователя 00d0
// Метка неизвестного блока данных ^ 0001
// Длина данных в блоке 01
// Неизвестные данные ^ 00d1
// Метка неизвестного блока данных ^ 0001
// Длина данных в блоке 01
// Неизвестные данные ^ 00d2
// Метка неизвестного блока данных ^ 0001
// Длина данных в блоке 01
// Неизвестные данные ^ 00d3
// Метка неизвестного блока данных ^ 0001
// Длина данных в блоке 01 // Неизвестные данные ^ // Секция: 13 0014
// Длина данных имени секции (значение: 20 байт) Не в списке // Имя секции 0001 // Идентификатор группы 0000 // Идентификатор секции 0001 // Тип секции (группа) 0010
// Длина дополнительных данных секции (значение: 16 байт) 006a
// Метка блока данных с тегом группы 0000
// Длина данных в блоке 00c8
// Метка блока данных с массивом идентификаторов всех контактов входящих в группу 0000
// Длина данных в блоке 0076
// Метка неизвестного блока данных ^ 0004
// Длина данных в блоке 00000112 // Неизвестные данные ^ // Секция: 14 0010
// Длина данных имени секции (значение: 16 байт) Контакты 7246 // Идентификатор группы 0000 // Идентификатор секции 0001 // Тип секции (группа) 002e
// Длина дополнительных данных секции (значение: 46 байт) 00c8
// Метка блока данных с массивом идентификаторов всех контактов входящих в группу 002a
// Длина данных в блоке 08b9 // Идентификатор контакта входящего в эту группу 0973 // Идентификатор контакта входящего в эту группу 097e // Идентификатор контакта входящего в эту группу 09eb // Идентификатор контакта входящего в эту группу и так далее ...
// Секция: 15 0009
// Длина данных имени секции (значение: 9 байт) 408927135 // Имя секции (ICQ UIN) 7246 // Идентификатор группы 08b9 // Идентификатор секции 0000 // Тип секции (нормальный контакт) 001a
// Длина дополнительных данных секции (значение: 26 байт) 0066
// Метка блока данных с отметкой статуса авторизации 0000
// Отметка отсутствия авторизации у этого контакта 006d
// Метка блока данных с временем последнего взаимодействия с этим контактом 0008
// Длина данных в блоке 4d441577 // Время последнего взаимодействия (значение: 29.01.2011 17:26:15) 3fa38ea8 // Оценка взаимодействия этого контакта (значение: 2827920191) 0131 // Метка блока данных с названием контакта в списке 0006
// Длина данных в блоке [Null] // Название контакта в списке // Секция: 16 0006
// Длина данных имени секции (значение: 6 байт) 787811 // Имя секции (ICQ UIN) 7246 // Идентификатор группы 0973 // Идентификатор секции 0000 // Тип секции (нормальный контакт) 0042
// Длина дополнительных данных секции (значение: 66 байт) 013a
// Метка блока данных с номером сотового телефона 0000
// Длина данных в блоке 013c
// Метка блока данных с заметкой 0000
// Длина данных в блоке 0137
// Метка блока данных с Email адресом 0000
// Длина данных в блоке 015c
// Метка блока данных с хешем иконки 0010
// Длина данных в блоке 69eb078bca1d44659ce6c0d8ca88c3f4
// Хеш иконки 015d
// Метка неизвестного блока данных ^ 0008
// Длина данных в блоке 40e3a8c0 // Неизвестные данные (значение: 01.07.2004 10:01:36) ^ c0000000 // Неизвестные данные (значение: 192) ^ 006d // Метка блока данных с временем последнего взаимодействия с этим контактом 0008
// Длина данных в блоке 4c0fe475 // Время последнего взаимодействия (значение: 09.06.2010 22:59:01) 40216598 // Оценка взаимодействия этого контакта (значение: 2556764480) 0131 // Метка блока данных с названием контакта в списке 0006
// Длина данных в блоке VERBOT // Название контакта в списке // В завершении пакета содержится время последнего взаимодействия со списком контактов 4df736e6 // Время последнего взаимодействия (значение: 14.06.2011 14:24:38) Дополнения пакета: // Секция с возможными параметрами контакта из списка 0008 // Длина данных имени секции (значение: 8 байт) 96060609 // Имя секции (ICQ UIN) 0a75 // Идентификатор группы 34eb // Идентификатор секции 0000 // Тип секции (нормальный контакт) 0044 // Длина дополнительных данных секции (значение: 68 байт) 013a // Метка блока данных с номером сотового телефона 000c // Длина данных в блоке +39889537190 // Номер сотового телефона 013c // Метка блока данных с заметкой 0007 // Длина данных в блоке Заметка // Текст заметки 0137 // Метка блока данных с Email адресом 000b // Длина данных в блоке 123@mail.uk // Email адрес 006d // Метка блока данных с временем последнего взаимодействия с этим контактом 0008 // Длина данных в блоке 4e4a5cdc // Время последнего взаимодействия (значение: 16.08.2011 16:04:44) 3f800000 // Оценка взаимодействия этого контакта (значение: 32831) 015c // Метка блока данных с хешем иконки 0010 // Длина данных в блоке 822dd2f1270e4545aaaa16b1c37b3ca6 // Хеш иконки 015d // Метка неизвестного блока данных ^ 0008 // Длина данных в блоке 40e3f36d // Неизвестные данные (значение: 01.07.2004 15:20:13) ^ 10c83fb7 // Неизвестные данные (значение: 3074410512) ^ 0131 // Метка блока данных с названием контакта в списке 0008 // Длина данных в блоке Натриарч // Название контакта в списке 0066 // Метка блока данных с отметкой статуса авторизации 0000 // Отметка отсутствия авторизации у этого контакта 007d // Метка неизвестного блока данных ^ 0001 // Длина данных в блоке 03 // Неизвестные данные ^ 0149 // Метка неизвестного блока данных ^ 0000 // Длина данных в блоке 006a // Метка блока данных с тегом контакта 0000 // Длина данных в блоке // Секция сервиса интеграции с социальной сетью Facebook 0008 // Длина данных имени секции (значение: 8 байт) // Имя секции // Идентификатор группы 0008 // Идентификатор секции 0029 // Тип секции 0022 // Длина дополнительных данных секции (значение: 34 байта) 008b // Метка неизвестного блока данных ^ 0004 // Длина данных в блоке 4ec61aba // Время (?) (значение: 18.11.2011 12:43:38) 0081 // Метка неизвестного блока данных ^ 0001 // Длина данных в блоке 01 // Неизвестные данные ^ 0085 // Метка неизвестного блока данных ^ 0004 // Длина данных в блоке 4ec61aba // Время (?) (значение: 18.11.2011 12:43:38) 0082 // Метка неизвестного блока данных ^ 0001 // Длина данных в блоке 01 // Неизвестные данные ^ 0098 // Метка неизвестного блока данных ^ 0004 // Длина данных в блоке 00000001 // Неизвестные данные ^ // Секция Gtalk (?) 0000 // Длина данных имени секции (значение: 0 байт) 0000 // Идентификатор группы 0009 // Идентификатор секции 0028 // Тип секции 0008 // Длина дополнительных данных секции (значение: 8 байт) 01c2 // Метка неизвестного блока данных ^ 0004 // Длина данных в блоке 4ec61b43 // Время (?) (значение: 18.11.2011 12:45:55) Таблица типов секций
Таблица значений доступа к информации пользователя (PD MODE)
|