Такой вопрос: сколько соединений сейчас открывает клиент - 2 или больше?
|
Во время игры используется 3 соединения, одно на бнет и два на рилм
а так в любое время клиент может ломануться еще куда-нибудь |
а есть где-нибудь список актуальных опкодов ?
|
Цитата:
|
кстати, а кто нибудь точно знает, каким опкодом они заканчивались в 1.12.1, 2.4.3 и 3.3.5?
у меня кроме как взять снифы и собрать все что в них встречалось других мыслей нет, как это собрать. |
Цитата:
Раньше опкоды были в клиенте(до катаклизма). Если есть экзешники и экстрактор, то можно извлеч листы опкодов и посмотреть. А вообще листы опкодов для этих версий есть в ветке 1.12, 2.4.3 и мастер |
да не, опкоды в клиенте - это косяк близзов, большая редкость. такое было по моему раза 4 за всю историю. но то были промежуточные билды.
да, хочется знать сколько и какие опкоды были на момент завершения каждого ... как бы это сказать то ... аддона пусть будет. они не только добавлялись в конец, но и переименовывались старые, а так же добавлялись куда нибудь в середину. я просто к чему... если делать БК, то 2.4.3, если ВЛК, то 3.3.5, если классик, то 1.12.1, другие билды уже нафиг не нужны и смысла в них ноль. |
Подскажите какой сейчас опкод на смену сидов ? раньше было CMSG_AUTH_NEW_SESSION, но сейчас что-то не найду его в списке
EDIT: разобрался, это опкод 0x0E4C |
У меня пока получилось снифать весь трафик между клиентом и сервером и получать ключ сессии, теперь надо трафик расшифровать, по какому алгоритму он шифруется?:dntknw:
|
Цитата:
Лично для меня самое сложное было написать алгоритм сборки целых пакетов из кусков raw-потока. На отладку убил пол дня. |
Можете подсказать адрес ключа для 4.1.0?
|
все есть на форуме. Базу иды выкладывает TOM_RUS, в этой же теме есть сообщение как найти адрес ключа в базе.
|
Цитата:
|
Вложений: 4
Цитата:
http://мангос.рф/attachment.php?atta...1&d=1304141916 Этот момент понятен ? Тогда заходим в функцию ClientServices__GetCurrent, там видим: http://мангос.рф/attachment.php?atta...1&d=1304142383 На этот раз переменная переименована в g_clientConnection, что бы увидеть ее адрес нажимаем на нее 2 раза мышью: http://мангос.рф/attachment.php?atta...1&d=1304142561 Слева ее адрес - .data:00D03F14, он то нам и нужен. .data: - означает что переменная находится в сегменте с именем .data. нас это мало интересует, нам важно смещение внутри сегмента, это число после двоеточия. Аналогично с функцией ClientServices__GetSessionKey. Только там мы видим следующее: http://мангос.рф/attachment.php?atta...1&d=1304142981 Здесь нужное нам число окрашено в зеленый цвет. Еще вопросы остались ? |
Спасибо :) Все понял, все замечательно :) Просто навигация в IDA по-моему малость неудобная. Кстати, если вдруг кому пригодится, то вот хорошенькая книженция
|
Подгонял снифер под 14007 билд, обнаружил любопытную вещь: клиент теперь умудряется открывать 2 соединения на одинаковый адрес:порт. В моей реализации это вызывало сбой, поскольку делалось предположение что пара адрес:ип уникальна.
|
Хм, вот уже 3 дня пишу свой прокси для 4.1.0а. Ниразу не замечал, чтобы был 1 адресс и порт по несколько раз
|
Я вчера офигел, сегодня ситуация повторялась. сперва я подумал что это у меня глюк. Открыл окно проксифиера, долго пялился на адреса, действительно было 2 коннекта на одинаковый адрес и порт, даже скрин сделал
|
Мммм близзы знают толк в извращеньях. Я просто новый класс соединения создаю, и запихиваю его в контейнерный класс.
|
да почему в извращеньях то? почему вы озадачены подключениями на один и тот же target? раньше ведь все коннектились на какой нибудь localhost:3724 тремя клиентами одновременно и ничего...
просто ситуация такая, что близзовский лоадбалансер посчитал, что сервер ваш (на котором играете) не нагружен насколько, что бы вас коннектить на другой. |
Если я правильно понял Йоху, то клиент открыл 2 соединения на один и тот же хост и порт, это помоему извращение.
ЗЫ: А у меня сейчас впервые в жизни клиент открыл соединения только с 3724 и 1119 :D обычно ещё на 80 порты соединений 5 откроет :) |
А в чем извращение то? Я вот тоже не понимаю. Ну подумаешь клиент открывает соединения на один и тотже хост, порт что в этом такого то?
|
Цитата:
Роман смотри как это получается (например): клиент открывает коннект на адрес 195.12.246.210:3724 потом там с десяток пакетов пробегает, он открывает новое соединение на адрес 195.12.246.213:3724 (или 211 или 212) и закрывает первое. И в это одно соединение бегают редкие пакетики (наверно варден). В это время клиент находится в окне выбора персонажей. При входе в мир он открывает еще одно соединение ну там опять же допустим на адрес 195.12.246.212:3724. И получается что у клиента два активных соединения: 195.12.246.212:3724 195.12.246.213:3724 А бывает что после входа в мир остаются два соединения абсолютно одинаковых: 195.12.246.211:3724 195.12.246.211:3724 Хотя бывали случаи что клиент открывает одно соединение и до входа в мир в это одно соединение и работает |
Цитата:
|
Подтверждаю слова Йохи:
http://filebeam.com/c1248889bf4b97f6...8049de9656.jpg Непонимаю только зачем так делать... |
Глянь в лог проксикапа. Мб он закрыл коннект и потом появился такой-же новый.
|
Да не закрывает он ничего... Держутся 2 активных соединения на один и тот же хост и порт
|
Вложений: 2
Цитата:
У меня в снифере корректно отслеживаются октрытия/закрытия соединений. [Добавлено] Вот сейчас клиент открыл всего 1 соединение до входа в мир, а при входе еще одно, точно такое же, и все прекрасно работает http://мангос.рф/attachment.php?atta...1&d=1305218185 http://мангос.рф/attachment.php?atta...1&d=1305218185 |
я не понимаю, чего вы паритесь... честно, не понимаю. я же объяснил, так ведет себя близовский лоадбалансер. ну выбирает он тот же хост, в чем проблема?
вы должны понимать, что это ВТОРОЕ соединение и работает оно соответствующе, сервер с клиентом это вот понимают. а вы чего? =) |
Цитата:
|
странные вы...
второе соединение устанавливается со времен 3.3.5, ну правда тогда оно просто переключалось. не помню с какого момента связь клиента с миром поддерживается двумя соединениями. они даже в клиенте по разному обозначаются и показывают каждый свое latency. не спрашивайте на*** это все, не знаю =) это нужно принять как свершившийся факт и жить с этим. |
Йоха, я думал ты имеешь ввиду 2 абсолютно одинаковых коннекта.
Тут же порт клиента разный. адресс 127.0.0.1, а порт то меняется |
Цитата:
В этом ясное дело нет ничего сверхъестественного, просто именно на 14007 билде мой снифер стал падать, до этого все работало, и это меня и удивило. Я уже исправил недочет, сейчас тоже все снифается без проблем. |
Цитата:
|
ну судя по предыдущему сообщению не совсем наизусть =)
во первых опечатка, клиент подымает соединения на разных физических серверах... полминуты сообразить пытался =) клиент подымает (инициирует) соедиенения на твоем компе, а не на серверах =) это как бэ немного разные вещи, но я понял о чем речь. во вторых все немного не так работает. первое соединение и есть лоадбалансер. после первого соединения этот лоадбалансер выбирает куда ж вашего клиента пробросить, где по свободнее. у йохи вот случилась ситуация, что его реалм был свободен сам по себе и лоадбалансер выбрал для второго соединения этот же хост. после установки второго коннекта лоадбалансер уже ничего не указывает. он уже указал. правда судя по наблюдениям, этот лоадбалансер на этом не останавливается и может переключить клиента на другой хост снова. насколько я понял происходит это в каких то "гарандиозных" событиях, типа выход из мира в чарлист, ворлдпортах и т.п. когда собсно самое время выполнить переключение. т.е. вас не будет переключать в том время когда вы бежите из голдшира в вестфалл. именно поэтому наблюдаются несколько "вторых" сессий. короче лоадбалансер работает на первом соединении и то и дело перебрасывает клиента с хоста на хост. и еще раз - так уж получается иногда, что это "домашнее" (так вроде оно называется) соединение оказывается на том же хосте, где и первый коннект. пусть это будет называться мастер-хост. |
Разщбираюсь со снифером! Как образец взял tiawps.
Добился получения процесса! Но блин упорно не хочет читать SessionKey :( В tiawps делают вот так: PHP код:
PHP код:
PHP код:
|
Win7? ASLR?
|
Цитата:
|
Цитата:
|
попробуйте так:
http://ru-mangos.ru/showpost.php?p=12460&postcount=4 |
Текущее время: 15:42. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS