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

> Шифрование клиента
StaticZ
сообщение 4.6.2014, 3:33
Сообщение #1


*********

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



Насколько мне удалось понять протокол UO устроен следующим образом:

1) Приветствие - Клиент отправляет не зашифрованный пакет 0xEF (New Client Version). Проверенно на 7.0.х клиентах, для старых могу предположить что вместо него идет 0xBD (Client Version), но проверить нет возможности. Кто знает когда был введен пакет 0xEF и может ли кто подтвердить приветствие старых клиентов???

2) Полученные версии клиента служат основой для генерации ключей шифрования, что используются совместно с сидом (IP адресом клиента) для XOR шифрования всех последующих пакетов отправляемых клиентом. При этом пакеты от сервера не шифруются. При этом вроде как для клиентов до 1.25.36 есть эти ключи работают не много по другому.


3) После перенаправления клиента с логин-сервера на гейм-сервер пакетом 0x8C (Play Server Accept), начинает использоваться шифрование, в качестве сида которого используется, как я понял - последние 4 байта сего пакета (Auth ID)... Дальше начинается муть.... В зависимости от версии клиента используются алгоритмы шифрования:
а) < 2.0.0 - Blowfish (клиент->сервер)
б) 2.0.0x to 2.0.3 - Blowfish + Twofish (клиент->сервер)
в) > 2.0.4 - Twofish (клиент->сервер) ||| MD5 (сервер->клиент)

В тоже время в нетах всплыло что-то про сжатие Huffman, которое применяется то ли для старых клиентов то ли перед шифрованием....


Кто в теме, может просветить о деталях сего процесса. Так же хотелось бы уточнить, что именно шифруется - содержимое пакета без ID и размера в случае если у пакета не постоянный размер? Или шифруется весь поток блоками какого-то размера?

И еще меняется ли размер данных при использовании этих алгоритмов?

Сообщение отредактировал StaticZ - 4.6.2014, 3:35


--------------------
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Отправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
RL_ka
сообщение 14.6.2014, 12:18
Сообщение #2


*****

Разработчик Injection
Сообщений: 472
Регистрация: 13.7.2013
Группа: Модераторы
Наличность: 14444
Из: Екатеринбург
Пользователь №: 16.211



список версий всех существующих клиентов, за исключением самых новых.
logincrypt

// TWOFISH
"7.0.28",
"7.0.27",
"7.0.26",
"7.0.25",
"7.0.24",
"7.0.23",
"7.0.22",
"7.0.21",
"7.0.19",
"7.0.18",
"7.0.17",
"7.0.16",
"7.0.15",
"7.0.14",
"7.0.13",
"7.0.12",
"7.0.11",
"7.0.10",
"7.0.9",
"7.0.8",
"7.0.7",
"7.0.6",
"7.0.5",
"7.0.4",
"7.0.3",
"7.0.2",
"7.0.1",
"7.0.0",
"6.0.14",
"6.0.13",
"6.0.12",
"6.0.11",
"6.0.10",
"6.0.9",
"6.0.8",
"6.0.7",
"6.0.6",
"6.0.5",
"6.0.4",
"6.0.3",
"6.0.2",
"6.0.1",
"6.0.0",
"5.0.9",
"5.0.8",
"5.0.7",
"5.0.6",
"5.0.5",
"5.0.4",
"5.0.3",
"5.0.2",
"5.0.1",
"5.0.0",
"4.0.11",
"4.0.10",
"4.0.9",
"4.0.8",
"4.0.7",
"4.0.6",
"4.0.5",
"4.0.4",
"4.0.3",
"4.0.2",
"4.0.1",
"4.0.0",
"3.0.8",
"3.0.7",
"3.0.6",
"3.0.5",
"3.0.4",
"3.0.3",
"3.0.2",
"3.0.1",
"3.0.0",
"2.0.9",
"2.0.8",
"2.0.7",
"2.0.6",
"2.0.5",
"2.0.4",
// BLOWFISH + TWOFISH
"2.0.3",
"2.0.2",
"2.0.1",
"2.0.0x",
// BLOWFISH
"2.0.0",
"1.26.4",
"1.26.3",
"1.26.2",
"1.26.1",
"1.26.0",
"1.25.37",
// BLOWFISH WITH SPECIAL LOGINCRYPT ONLY FOR THIS VERSION
"1.25.36",
// BLOWFISH WITH OLD LOGINCRYPT
"1.25.35",
"1.25.34",
"1.25.33",
"1.25.32",
"1.25.31",
"1.25.30",
"1.25.28",
"1.25.26",
"1.25.25",
"1.25.23", // no info about this version. doesn't exists?
"1.25.21",
"1.25.20",
"1.25.19",
"1.25.18",
"1.25.16",
"1.25.15",
"1.25.13",
"1.25.12",
"1.25.11",
"1.25.10",
"1.23.41",
"1.23.40",
"1.23.39",
"1.23.38",
"1.23.37",
"1.23.36",
"1.23.35",
"1.23.34",
"1.23.33",
"1.23.32",
"1.23.31",
"1.23.27",


Пакеты-изменения:
6.0.1.07 - пакет 08, пакет 25, пакет 3c
6.0.5 - изменение в первичном логине
6.0.14.2 - packet b9, f3, 24, 99, ba
Так же конечно были добавлены новые пакеты для новых клиентов, типа гампов в ЗЛибе и нового пакета отображения карт, но выше перечислены только те пакеты которые изменялись когда-либо.



Вроде бы остальное ты всё знаешь. Что тебе ещё рассказать?(IMG:style_emoticons/default/smile.gif)

Получение ключей
Код
----- 
v0 = ((v0<<9|v1)<<10|v2)^((v2*v2)<<5);
Key_1 = (v0<<4)^(v1*v1)^(v1*0x0B000000)^(v2*0x380000)^0x2C13A5FD;    

-----
v0 = (((v0<<9|v2)<<10|v1)*8)^(v2*v2*0x0c00);
Key_2 = v0^(v1*v1)^(v1*0x6800000)^(v2*0x1c0000)^0x0A31D527F;


Пример:
06 . 00 . 07
v0 | v1 | v2

v0 = 6
v1 = 0
v2 = 7

Key_1 = 2e9bc78d
Key_2 = a25bfe7f
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 16.6.2014, 5:29
Сообщение #3


*********

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



Цитата(RL_ka @ 14.6.2014, 13:18) *

Пакеты-изменения:
6.0.1.07 - пакет 08, пакет 25, пакет 3c
6.0.5 - изменение в первичном логине
6.0.14.2 - packet b9, f3, 24, 99, ba
Так же конечно были добавлены новые пакеты для новых клиентов, типа гампов в ЗЛибе и нового пакета отображения карт, но выше перечислены только те пакеты которые изменялись когда-либо.
Вроде бы остальное ты всё знаешь. Что тебе ещё рассказать?(IMG:style_emoticons/default/smile.gif)

Спасибо, но с логином какраз я сразу разобрался там все легко просто, даже в дизасме... А вот тволиш с хафманом пока у меня выдают какой-то мусор..... Толи я не все данные перехватывают(я граблю поток еще до его отправки в сокет), толи чёгото не то делаю... Толи не во вевремя переходу на него.. или может он чувствителен к размеру кодируемого блока... Короче непоняток у меня пока много. Походу придется эксперементировать самому )))


--------------------
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Отправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
StaticZ   Шифрование клиента   4.6.2014, 3:33
Juzzver   Не в теме, но быть может будет полезным провести а...   4.6.2014, 12:35
StaticZ   Не в теме, но быть может будет полезным провести ...   4.6.2014, 13:11
Frog   ЗЫ Еще в догонку вопрос - как из таблицы пакетов в...   4.6.2014, 14:32
Warstone   Статикз, провести анализ работы UOExt религия не п...   5.6.2014, 0:46
StaticZ   Статикз, провести анализ работы UOExt религия не ...   5.6.2014, 1:35
Warstone   Кстати я так и не понял как ты из клиента вытащил ...   14.6.2014, 22:00
Warstone   Ну и еще можно добавить что VerInfo клиента дает и...   14.6.2014, 22:33
StaticZ   Ну и еще можно добавить что VerInfo клиента дает ...   16.6.2014, 5:12
Warstone   А ты какую версию перехватываешь?.. И не проще-ли ...   19.6.2014, 0:31
Nickname   И не проще-ли найти ML ранку (RunUO RE 1.4) она е...   19.6.2014, 0:40
StaticZ   А ты какую версию перехватываешь?.. И не проще-ли...   19.6.2014, 14:09
Warstone   Ты не можешь сделать зеркальный алгоритм? Печально...   21.6.2014, 18:26
StaticZ   Ты не можешь сделать зеркальный алгоритм? Печально...   21.6.2014, 20:56
StaticZ   Итак проблема решена, главным виновником оказались...   17.7.2014, 3:12
yazZ3va   Итак проблема решена, главным виновником оказалис...   31.10.2015, 0:58
Warstone   И я опять тебя спрошу, а не проще-ли было спросить...   17.7.2014, 11:19
StaticZ   И я опять тебя спрошу, а не проще-ли было спросить...   17.7.2014, 14:20
Warstone   И первый мой коммент...Да... Так как кому надо - з...   18.7.2014, 21:03
BoBrO   не могли бы вы скинуть пример пакета "0х5D...   22.7.2014, 10:20
StaticZ   не могли бы вы скинуть пример пакета "0х5D...   27.7.2014, 13:52
Frog   не могли бы вы скинуть пример пакета "0х5D...   30.7.2014, 0:22
Warstone   Гайд Вятта накрылся. А я его не сохранил ((   29.7.2014, 23:47
AdmiR   Гайд Вятта накрылся. А я его не сохранил (( А гд...   9.10.2014, 2:28
Mirage   Вот так и теряется в вечности нужное :(   9.10.2014, 8:23
Warstone   Пакет гайд Вятта http://ruosi.org/packetguide/inde...   31.10.2015, 7:33
yazZ3va   Не знаю куда я смотрел, но первые 4 байта это game...   31.10.2015, 12:22


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

 

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