OOG
Материал из Perfect World Develop Wiki
OOG (Out Of Game) — программа, которая эмулирует функции клиента, т.е. позволяет взаимодействовать с сервером без участия клиента игры.
Процесс создания
Некоторые соглашения
Будем обозначать направление через сокращенную форму to — 2. Если пакет идет от сервера клиенту, будем писать S2C, иначе — C2S. Все сабпакеты (из серверного 0x00 и клиентского 0x22) будем обозначать как GS, т.к. этот сервис отвечает за их обработку. Рядом будем писать опкод пакета в HEX формате и его название. Данные из полей, которые выделены зеленым цветом, необходимо помещать в отдельные переменные для последующего использования.
Шаг 1. Разбор пакетов
Обмен пакетами начитается сразу после подключения к серверу. Ниже описывается порядок пакетов и их разбор.
- [S2C] 0x01 ServerInfo
Структура:
Тип данных | Название | Комментарий |
---|---|---|
Octets | Key | Информацию о состоянии связи с сервером, рейтах; используется для дальнейшего шифрования пароля. |
Int | ServerVersion | Версия сервера, в виде HEX. Например: 0x00 0x01 0x05 0x01 |
Byte | AuthType | |
Octets | CRC | Конкатенация CRC хешей .data файлов. |
Byte | AuthType |
- [C2S] 0x03 LogginAnnounce
В процессе...