Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Опкоды (http://mangos.ytdb.ru/forumdisplay.php?f=36)
-   -   SMSG_AUTH_CHALLENGE 4.1.0 (http://mangos.ytdb.ru/showthread.php?t=4240)

Lordronn 30.04.2011 13:01

SMSG_AUTH_CHALLENGE 4.1.0
 
Смотрел снифф с 4.1.0. Опкоды в вайвере не обновлял, вот решил обновить. Наткнулся на такую вещичку

Теперь как я понял ходит не клиентский и сервеный аус опкод, а один в два направления

не SMSG_AUTH_CHALLENGE, а MSG_AUTH_CHALLENGE

Код:

Packet S->C, MSG_AUTH_CHALLENGE (0), 48 bytes,
╔══════╦═════════════════════════════════════════════════╦═════════════════╗
║OFFSET║  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F ║ 0123456789ABCDEF║
╠══════╬═════════════════════════════════════════════════╬═════════════════╣
║ 0000 ║ 57 4F 52 4C 44 20 4F 46 20 57 41 52 43 52 41 46 ║ WORLD OF WARCRAF║
║ 0010 ║ 54 20 43 4F 4E 4E 45 43 54 49 4F 4E 20 2D 20 53 ║ T CONNECTION - S║
║ 0020 ║ 45 52 56 45 52 20 54 4F 20 43 4C 49 45 4E 54 00 ║ ERVER TO CLIENT.║

Код:

Packet C->S, MSG_AUTH_CHALLENGE (0), 48 bytes,
╔══════╦═════════════════════════════════════════════════╦═════════════════╗
║OFFSET║  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F ║ 0123456789ABCDEF║
╠══════╬═════════════════════════════════════════════════╬═════════════════╣
║ 0000 ║ 57 4F 52 4C 44 20 4F 46 20 57 41 52 43 52 41 46 ║ WORLD OF WARCRAF║
║ 0010 ║ 54 20 43 4F 4E 4E 45 43 54 49 4F 4E 20 2D 20 43 ║ T CONNECTION - C║
║ 0020 ║ 4C 49 45 4E 54 20 54 4F 20 53 45 52 56 45 52 00 ║ LIENT TO SERVER.║

После всего этого идет аус_респонс - 2570
Теперь аус данные ходят в другом пакете видимо,
Видимо они в аус_респонс-се теперь бродят, или идут после редирект пакета 32845

Chameleon 30.04.2011 18:36

Теперь клиент ожидает пакет с такими данными при открытии каждого соединения.
Была тема про него на ммовнед.

RomanRom2 30.04.2011 19:52

жесть =)
зачем это им, интересно ...

Йоха 30.04.2011 20:45

Цитата:

Сообщение от Chameleon (Сообщение 21633)
Теперь клиент ожидает пакет с такими данными при открытии каждого соединения.

теперь это когда ? в 4.0.6 так и было, каждое новое соединение начинается с того что приходит от сервера auth_chalenge. А этих соединений вагон открывается/закрывается

Fabian 30.04.2011 20:51

It's since 4.1.0

Chameleon 30.04.2011 21:16

Проверка на этот текст была добавлена в NetClient__WCMessageReady в билде 13875.

LordJZ 30.04.2011 21:38

Самое интересное, что у этих пакетов натурально нет опкода. Отправляется размер + данные.
Возникает вопрос, как сохранять этот пакет в, скажем, PKT 3.0 логах? Для себя я реализовал самое простое и, на мой взгляд и для моего сниффера, правильное решение: в лог пишу нулевой опкод, а модули чтения автоматически подставляют имена опкодов для обоих пакетов на основе Chunk Opt Data.

P.S. Ваши «аус» — это ужасно.

RomanRom2 30.04.2011 23:57

ну люди не понимаю если что есть челенж как таковой, просто называют по ... [задумался]... да даже не знаю, что заставило ЭТО назвать челенжем.
нулевой опкод - самое правильное решение.

TOM_RUS 01.05.2011 01:34

Может они хотят протокол перевести на текстовый? Типа
SERVER TO CLIENT MESSAGE - UPDATE OBJECT GUID XXX FIELD YYYY=ZZZZ :D

LordJZ 01.05.2011 08:05

Цитата:

Сообщение от RomanRom2 (Сообщение 21644)
...
нулевой опкод - самое правильное решение.

Да, но нулевые опкоды тоже существуют. Например, в 4.0.6 нулевой опкод соответствовал чему-товроде CMSG_MESSAGECHAT_WHISPER.

HuntsMan 01.05.2011 09:04

Да впринципе пофиг как сохранять. Придется в ядре реализовывать формирование таких безопкодных пакетов.

Йоха 11.05.2011 13:21

Если я правильно понял, SMSG_AUTH_CHALLENGE ни куда не делся, как и CMSG_AUTH_SESSION.
Просто теперь два первых пакета - безопкодные, потом идет все как обычно.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 10 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

И теперь первые 4 пакета не шифруются

LordJZ 11.05.2011 13:29

Цитата:

Сообщение от Йоха (Сообщение 22160)
Если я правильно понял, SMSG_AUTH_CHALLENGE ни куда не делся, как и CMSG_AUTH_SESSION.
Просто теперь два первых пакета - безопкодные, потом идет все как обычно.
*** скрытый текст ***И теперь первые 4 пакета не шифруются

Да (хайд не проверял)

Lordronn 11.05.2011 13:32

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 15 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Йоха 11.05.2011 14:04

Цитата:

Сообщение от Lordronn (Сообщение 22162)
*** скрытый текст ***

блин, все верно, я перепутал местами коды в дефайнах =)))

Йоха 11.05.2011 23:07

Не могу понять почему у всех соединений кроме первого неправильно расшифровываются заголовки ?

единственное предположение что неправильно собираются сиды, но в иде вроде все тривиально :
Порядок я правильно понял ?
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 50 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

LordJZ 12.05.2011 11:52

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 50 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Йоха 12.05.2011 12:03

хм, что-то я наверно не понял в иде

Йоха 12.05.2011 14:14

раньше я смотрел порядок в функции PacketRead_SMSG_AUTH_CHALLENGE
а сейчас что-то поменялось ?

Evgeniy 15.05.2013 14:47

SMSG_AUTH_CHALLENGE 16826 никак не могу найти в IDA порядок сидов...кто может помочь?

Fabian 15.05.2013 21:32

Код:

void *__thiscall ClientConnectionAuthChallenge::CliGet(void *this, int a2, int a3)
{
  void *v3; // esi@1
  int v4; // esi@1
  signed int v5; // ebx@1
  void *result; // eax@3
  void *v7; // [sp+Ch] [bp-8h]@1
  char v8; // [sp+13h] [bp-1h]@1

  v3 = this;
  v7 = this;
  v8 = 0;
  CDataStore::GetUInt8(&v8);
  *((_BYTE *)v3 + 52) = v8;
  v4 = (int)((char *)v3 + 20);
  v5 = 8;
  do
  {
    a2 = 0;
    CDataStore::GetUInt32(&a2);
    *(_DWORD *)v4 = a2;
    v4 += 4;
    --v5;
  }
  while ( v5 );
  a2 = 0;
  CDataStore::GetUInt32(&a2);
  result = v7;
  *((_DWORD *)v7 + 4) = a2;
  return result;
}



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

ru-mangos.ru - Русское сообщество MaNGOS