Здравствуйте, гость ( Вход | Регистрация )

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> Шифрование клиента
BoBrO
сообщение 22.7.2014, 10:20
Сообщение #21


**

Neophyte
Сообщений: 13
Регистрация: 14.10.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.354
Возраст: 26



не могли бы вы скинуть пример пакета "0х5D"!?
спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 27.7.2014, 13:52
Сообщение #22


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009
Группа: Пользователи
Наличность: 0
Из: РФ, Москва
Пользователь №: 11.948



Цитата(BoBrO @ 22.7.2014, 11:20) *

не могли бы вы скинуть пример пакета "0х5D"!?
спасибо.
Сейчас не могу, в начале августа вернусь домой - если будет еще нужно напишите - кину, а так вообще в гайде вята посмотрите, там весь протокол хорошо описан.


--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.
Game isn't a dream, it is the reality, reality which is coming while we dream...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 29.7.2014, 23:47
Сообщение #23


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Гайд Вятта накрылся. А я его не сохранил ((


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Frog
сообщение 30.7.2014, 0:22
Сообщение #24


****

Apprentice
Сообщений: 266
Регистрация: 6.9.2005
Группа: Пользователи
Наличность: 0
Пользователь №: 4.172
Возраст: 25



Цитата(BoBrO @ 22.7.2014, 11:20) *

не могли бы вы скинуть пример пакета "0х5D"!?
спасибо.
http://docs.polserver.com/packets/index.php?Packet=0x5D
Тут описано что в нем находится, может быть пригодится.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
AdmiR
сообщение 9.10.2014, 2:28
Сообщение #25


**

Neophyte
Сообщений: 42
Регистрация: 28.4.2005
Группа: Пользователи
Наличность: 0
Пользователь №: 3.609



Цитата(Warstone @ 29.7.2014, 23:47) *

Гайд Вятта накрылся. А я его не сохранил ((

А где он был? или уже заработал?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Mirage
сообщение 9.10.2014, 8:23
Сообщение #26


*******

Группа: Пользователи
Наличность: 0
Из: Иваново
Пользователь №: 13.089
Возраст: 35



Вот так и теряется в вечности нужное (IMG:style_emoticons/default/sad.gif)


--------------------
Изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yazZ3va
сообщение 31.10.2015, 0:58
Сообщение #27


*

Registred
Сообщений: 2
Регистрация: 31.10.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.682
Возраст: 25



Цитата(StaticZ @ 17.7.2014, 3:12) *

Итак проблема решена, главным виновником оказались 4 байта, что клиент впихивал перед пакетом 0х91 и из-за чего у парсера пакетов сносило крышу, ну и по совместительству они же и были сидом, а не ип... Ну а для порядка хотелось бы прояснить ситуацию на будущее. И так:
  • C->S: 0xEF (no encrypt) - своеобразное приветствие клиента, отсылаемый им Seed (IP address) и есть seed Xor шифрования для логин сервера.
  • C->S: 0x80 (xor) - данные авторизации
  • S->C: 0xA8 (no encrypt) - список серверов (в случае правильного логина конечно)
  • С->S: 0xA0 (xor) - выбор сервера
  • S->C: 0x8C (no encrypt) - разрешение на вход и данные сервера (в реальности логин сервер и игровой сервер разные машины для обеспечения большей производительности и пропускной способности, на эмуляторах конечно такие эпичные задачи не ставятся).
  • С->S: 4 bytes (no encrypt) - это не пакет, а просто seed для Twofish алгоритма.
  • С->S: 0х91 (twofish) - авторизация на игровом сервере
  • S->C: 0xB9, 0xA9 (md5+huffman) - список поддерживаемых сервером фич и список персонажей лист..
  • С->S: 0х5D (twofish) - выбор персонажа и список поддерживаемых клиентом фич
  • S->C: 0xBD (md5+huffman) - запрос версии клиента
  • C->S: 0xBD (twofish) - ответ с версией клиента
  • S->C: 0x1B (md5+huffman) - разрешение на вход с данными об игроке
  • .......... Ну а дальше понеслась...
Все что от клиента шифруется twofish, а то что от сервера сначала жмется Хаффманом, а потом шифруется md5 (разновидность XOR), собственно если поток перехватываем на стороне клиента то действуем наоборот - сначала дешефруем, а потом распаковываем. Данные проверенны на клиенте 7.0.18.0, скорее всего верны и для более старых, но поскольку пакет 0xEF введен относительно не давно там он чемто заменяется наверно. Возиться с старыми клиентами мне было в лом.

Теперь еще осталось разобраться с таблицей пакетов, то что идет от клиента можно вытащить из самого клиента, но пакеты что может принимать клиент хотелось бы поточнее...

Доброго времени суток
Может кто подсказать алгоритм нахождение этого seed?
С->S: 4 bytes (no encrypt) - это не пакет, а просто seed для Twofish алгоритма.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Warstone
сообщение 31.10.2015, 7:33
Сообщение #28


*********

Группа: Модераторы
Наличность: 0
Пользователь №: 10.905
Возраст: 25



Пакет гайд Вятта http://ruosi.org/packetguide/index.xml

> Может кто подсказать алгоритм нахождение этого seed?
В зависимости от версии клиента:
- 0xEF пакет не шифруется и содержит зерно. Прилетает первым.
- Первые 4 байта в потоке

Если интересно, то вот код (немного кривоватый) для работы с протоколом. Не поддерживает шифрованный 2.0.3 клиент, так как только в нем был и Blowfish и Twofish.

https://code.google.com/p/uo-ext/source/bro...tStream.pas#462


--------------------
Do. Or do not. There is no Try!
© Master Joda, Dagobah, Star Wars: Episode V.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yazZ3va
сообщение 31.10.2015, 12:22
Сообщение #29


*

Registred
Сообщений: 2
Регистрация: 31.10.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.682
Возраст: 25



Не знаю куда я смотрел, но первые 4 байта это gameplay encryption key из пакета 0x8C отосланного сервером до этого (IMG:style_emoticons/default/rolleyes.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V < 1 2
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 29.4.2024, 7:30
Designed by Nickostyle