PKT 3.0

Материал из YTDB DataBase

Перейти к: навигация, поиск

PKT 3.0 — первая централизованная версия формата файлов дампов сетевых пакетов PKT.

Спецификация состоит из описаний двух форматов для хранения расшифрованных и зашифрованных пакетов World of Warcraft, файлов с расширениями .pkt и .raw соответственно.

Содержание

Спецификация PKT

Вначале файла находится основной заголовок. В основном заголовке находятся общие данные о дампе. После основного заголовка один за другим находятся фрагменты сетевого потока с заголовками.

Для полей длиннее 1 байта по-умолчанию используется порядок байт «от младшего к старшему» (little-endian).

Именование файла

ПолеЗначение
Имя файлаЛюбое
Расширение файлаОбязательно .pkt

Основной заголовок

ПолеДлинаСодержание
Подпись файла3 байтаПоследовательно символы 'PKT' в кодировке ASCII
Версия формата2 байтаПоследовательно байты младшей версии, старшей версии. Для PKT 3.0 обязательно 0x00, 0x03
Идентификатор сниффера1 байтСм. Идентификатор сниффера в PKT
Номер билда клиента4 байта
Язык клиента4 байтаПоследовательно байты кода языка клиента в кодировке ASCII, например 'enGB'
Ключ сессии40 байтНеобязательно. Может быть заполнено нулями.
Длина опциональных данных4 байта
Опциональные данныеДлина этого поля указана в предыдущем поле.

Фрагмент сетевого потока

ПолеДлинаСодержание
Направление движения пакета4 байтаПоследовательно символы 'SMSG' или 'CMSG' для пакетов от сервера к клиенту и от клиента к серверу соответственно в кодировке ASCII
Время получения пакета4 байтаКоличество прошедших секунд с эпохи Unix (UTC)
Ticks получения пакета4 байтаКоличество прошедших миллисекунд с момента запуска операционной системы
Длина опциональных данных4 байта
Длина данных пакета4 байтаНе менее 4 байт
Опциональные данныеСодержание этого поля контролируется разработчиком программы-сниффера.
Длина указана в поле «длина опциональных данных».
Данные пакетаСодержит данные одного пакета World of Warcraft.
Длина указана в поле «длина данных пакета». Первые 4 байта этого поля — опкод пакета.

Спецификация RAW

Вначале файла находится основной заголовок. В основном заголовке находятся общие данные о дампе. После основного заголовка один за другим находятся фрагменты сетевого потока с заголовками.

Для полей длиннее 1 байта по-умолчанию используется порядок байт «от младшего к старшему» (little-endian).

Именование файла

ПолеЗначение
Имя файлаЛюбое
Расширение файлаОбязательно .raw

Основной заголовок

ПолеДлинаСодержание
Подпись файла3 байтаПоследовательно символы 'RAW' в кодировке ASCII
Версия формата2 байтаПоследовательно байты младшей версии, старшей версии. Для PKT 3.0 обязательно 0x00, 0x03
Идентификатор сниффера1 байтСм. Идентификатор сниффера в PKT
Номер билда клиента4 байта
Язык клиента4 байтаПоследовательно байты кода языка клиента в кодировке ASCII, например 'enGB'
Ключ сессии40 байт
Длина опциональных данных4 байта
Опциональные данныеСодержание этого поля контролируется разработчиком программы-сниффера.
Длина этого поля указана в предыдущем поле.

Фрагмент сетевого потока

ПолеДлинаСодержание
Направление движения пакета4 байтаПоследовательно символы 'SMSG' или 'CMSG' для пакетов от сервера к клиенту и от клиента к серверу соответственно в кодировке ASCII
Время получения пакета4 байтаКоличество прошедших секунд с эпохи Unix (UTC)
Ticks получения пакета4 байтаКоличество прошедших миллисекунд с момента запуска операционной системы
Длина опциональных данных4 байта
Длина данных пакета4 байтаНе менее 4 байт
Опциональные данныеСодержание этого поля контролируется разработчиком программы-сниффера.
Длина указана в поле «длина опциональных данных».
Данные пакетаСодержит данные одного пакета TCP протокола.
Длина указана в поле «длина данных пакета».

Ссылки

Личные инструменты