25.07.2010, 16:24
|
#20
|
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
Оформил.
Цитата:
- 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) Согласен
|
|
|