Показать сообщение отдельно
Старый 25.07.2010, 16:24   #20
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Оформил.
Цитата:
  • 1. RAW.
    • 1.1. заголовок снифа.
      byte[3] Header — R,A,W
      word HeaderVersion — 3.0
      Код:
      0000000000:  50 4B 54 00 03 CB 2D 89 ¦ 9D 6F C4 9B 85 20 75 6D  PKTOOT-ЙЭo-ЫЕ um
      uint ClientBuild — число, актуальная на данную сессию версия клиента. билд может быть добыт из VersionInfo экзешника, из бинарных данных экзешника, из сетевого трафика, иными способами
      uint ClientLanguage — enGB, ruRU. актуальная на данную сессию локализация клиента. может быть добыта из VersionInfo экзешника, из бинарных данных экзешника, из сетевого трафика, иными способами
      ui64 CDevelopersData — вспомогательные данные на усмотрение разработчика. это поле не может быть использовано для хранения данных, которые могут влиять на чтение снифа.
      byte[40] CSessionKey — ключ текущей сессии.
    • 1.2. заголовок чанка
      byte Direction — для серверных чанков 0хFF, для клиентских 0хСС.
      uint UnixTime — стандартная функция UnixDateTime(Now).
      uint TickCount — стандартная функция GetTickCount().
      word ChunkDevelopersData — вспомогательные данные на усмотрение разработчика. это поле не может быть использовано для хранения данных, которые могут влиять на чтение снифа.
      uint RAW.Length — длина данных, которые были "пойманы" снифером и подлежат записи в файл.
      byte[]RAW.Data — пойманные данные
  • 2. PKT.
    • 2.1. заголовок снифа.
      byte[3] Header — P,K,T
      word HeaderVersion — 3.0
      Код:
      0000000000:  50 4B 54 00 03 CB 2D 89 ¦ 9D 6F C4 9B 85 20 75 6D  PKTOOT-ЙЭo-ЫЕ um
      uint ClientBuild — число, актуальная на данную сессию версия клиента. билд может быть добыт из VersionInfo экзешника, из бинарных данных экзешника, из сетевого трафика, иными способами
      uint ClientLanguage — enGB, ruRU. актуальная на данную сессию локализация клиента. может быть добыта из VersionInfo экзешника, из бинарных данных экзешника, из сетевого трафика, иными способами
      ui64 DevelopersData — вспомогательные данные на усмотрение разработчика. это поле не может быть использовано для хранения данных, которые могут влиять на чтение снифа.
      byte[40] SessionKey — ключ текущей сессии. для PKT может быть равно нулю.
    • 2.2. заголовок чанка
      byte Direction — для серверных чанков 0хFF, для клиентских 0хСС.
      uint UnixTime — стандартная функция UnixDateTime(Now).
      uint TickCount — стандартная функция GetTickCount().
      word ChunkDevelopersData — вспомогательные данные на усмотрение разработчика. это поле не может быть использовано для хранения данных, которые могут влиять на чтение снифа.
      uint PKT.Length — длина игровых данных, ВКЛЮЧАЯ Opcode.
      uint PKT.Opcode — значение опкода, выравненное до 32х бит.
      bytes[] PKT.Data — игровые данные опкода
RomanRom2:
1) Пока нету. В нашей реализации я не представляю, как это делать
2) Давайте с фиксированной. Плюс, не надо аж 8 байт к каждому пакету. 2 хватит, имхо. В моей цитате стоит word.
3) Согласен
4) Согласен
LordJZ вне форума   Ответить с цитированием