Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Опкоды, Формулы, Клиент > Копаем клиент

Важная информация

Копаем клиент Копаем клиент

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.03.2014, 04:07   #1
SeT
Ученый
 
Аватар для SeT
 
Регистрация: 13.03.2010
Сообщений: 110
Сказал(а) спасибо: 55
Поблагодарили 23 раз(а) в 14 сообщениях
SeT На верном пути
Вопрос Гуиды

Давно хотел спросить, кто может подсказать, почему с версии 4.х так странно читаются\пишутся гуиды?

например (TC):
Код:
    uint8 bitOrder[8] = {2, 3, 7, 4, 0, 5, 6, 1};
    recvData.ReadBitInOrder(guid, bitOrder);

    uint8 byteOrder[8] = {0, 2, 6, 1, 7, 3, 4, 5};
    recvData.ReadBytesSeq(guid, byteOrder);
Причём между битами, может происходить чтение других данных. Зачем такие сложности сделали близы? Почему для каждого опкода свой порядок чтения гуида?
SeT вне форума   Ответить с цитированием
Старый 15.03.2014, 13:13   #2
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

А зачем солдату подметать плац фомкой? Чтобы задолбаться
Lordronn вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
SeT (16.03.2014)
Старый 15.03.2014, 17:02   #3
SeT
Ученый
 
Аватар для SeT
 
Регистрация: 13.03.2010
Сообщений: 110
Сказал(а) спасибо: 55
Поблагодарили 23 раз(а) в 14 сообщениях
SeT На верном пути
По умолчанию

Цитата:
Сообщение от Lordronn Посмотреть сообщение
А зачем солдату подметать плац фомкой? Чтобы задолбаться
А близы сами не задалбливаются менять и поддерживать это в актуальном состоянии (между сервером и клиентом)? Может есть какая то рациональная причина.
SeT вне форума   Ответить с цитированием
Старый 15.03.2014, 18:07   #4
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от SeT Посмотреть сообщение
А близы сами не задалбливаются менять и поддерживать это в актуальном состоянии (между сервером и клиентом)? Может есть какая то рациональная причина.
А вам не приходило в голову что этот код генерируется автоматически?
TOM_RUS вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
SeT (16.03.2014)
Старый 15.03.2014, 20:10   #5
SeT
Ученый
 
Аватар для SeT
 
Регистрация: 13.03.2010
Сообщений: 110
Сказал(а) спасибо: 55
Поблагодарили 23 раз(а) в 14 сообщениях
SeT На верном пути
По умолчанию

Цитата:
Сообщение от TOM_RUS Посмотреть сообщение
А вам не приходило в голову что этот код генерируется автоматически?
Приходило, но зачем, что это дает, кроме запутывания нас.

То-есть это все же случайный порядок последовательности, который ни от чего не зависит?
SeT вне форума   Ответить с цитированием
Старый 15.03.2014, 16:56   #6
mityada
Гость
 
Сообщений: n/a
По умолчанию

Да что гуиды? В SMSG_UPDATE_OBJECT вообще все данные о движении в хрен знает каком порядке идут. И видимо этот порядок еще периодически меняется.
  Ответить с цитированием
Пользователь сказал cпасибо:
SeT (16.03.2014)
Старый 15.03.2014, 21:24   #7
RomanRom2
WowCore Dev
 
Аватар для RomanRom2
 
Регистрация: 31.03.2010
Сообщений: 468
Сказал(а) спасибо: 73
Поблагодарили 106 раз(а) в 70 сообщениях
RomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всемRomanRom2 Это имя известно всем
По умолчанию

именно так.
RomanRom2 вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
SeT (16.03.2014)
Старый 17.03.2014, 23:14   #8
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Летом 2012-го я писал плагины для IDA для распаковки таких опкодов. Курсор, кажется, должен стоять на первой инструкции «чтения» пакета.
Простой: https://gist.github.com/LordJZ/9607042
Для мувмент пакетов: https://gist.github.com/LordJZ/9607344
LordJZ вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Konctantin (18.03.2014), SeT (18.03.2014)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 13:08. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot