Показать сообщение отдельно
Старый 25.07.2010, 17:19   #38
VDm
Новичок
 
Регистрация: 22.05.2010
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 1 сообщении
VDm На верном пути
По умолчанию

Если никак не получается решить для всего формата сразу, давайте хотя-бы определимся с заголовком:
Код:
struct FileHeader
{
  byte signature[3]; // 'PKT' | 'RAW'.
  word version; // == 0x0003 - для версии 3.0.
  byte snifferID; // Распределить уникальные номера.
  uint build; // Номер сборки клиента, обратите внимание, тип uint (4 байта).
  byte language[4]; // Язык клиента: 'ruRU', 'enGB' и т.д.
  byte sessionKey[40]; // Ключ сессии, для PKT не используется и может быть заполнен как угодно (лучше нулями).
  uint optionalHeader; // Размер опционального заголовка в байтах, 
                       // который идет сразу после заголовка файла и содержит все, что угодно. 
                       // Если optionalHeader == 0, тогда опциональный заголовок в файле отсутствует.
};
// sizeof(FileHeader) == 3 + 2 + 1 + 4 + 4 + 40 + 4 = 58 байт (align == 1)

Последний раз редактировалось VDm; 25.07.2010 в 17:32.
VDm вне форума   Ответить с цитированием