Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг > Шифрации серверов
Войти через OpenID

Шифрации серверов Здесь разбираемся с алгоритмами шифрации различных серверов

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 07.12.2010, 19:48   #1
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
Вопрос Алгоритм составления алгоритма для дешифровки.

Прошу помощи! Сейчас объясню все по порядку что мне не понятно...
(Исправляйте меня, если я что-то не правильно понял )
Вот очень старый пост, который является ключевым в понимании алгоритма...
http://coderx.ru/showpost.php?p=3056&postcount=97

Цитата:
я приведу пример:
ДАНО:
3B C6 2D 02
НАЙТИ:
b9 55 00 00 37 43 00 00
Цитата:
исходные данные для вычисления начального ключа присылаются сервером во 2-м пакете..
начиная с 3-го пакета- исходящего и 4-го входящего данные уже зашифрованы.. с применением начального ключа...
Как я понял "Дано" это 2я, 3я, 4я и 5я пары во 2м пакете (Начиная со входа в игру)
А вот откуда нужно найти (Начальный ключ) и что с ним потом делать (Это уже другой вопрос) мне не понятно...

Поможете разобраться в столетней проблеме...
(Надеюсь тема еще многим пригодится)

Последний раз редактировалось Nickers, 07.12.2010 в 19:55.
Nickers вне форума   Ответить с цитированием
За это сообщение Nickers нажился спасибкой от:
Старый 07.12.2010, 20:57   #2
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Nickers, вот смотри, есть, как минимум, два пути
1) Распотрошить клиент, вытащить из него алгоритм шифрования(в данном случае не подходит из-за недостатка знаний предметной области)
2) Обычно!!(расрас) 2й пакет(Init или как-то так) после начала обмена инфой с гейм сервером, содержит ключик, на основе которого генерируется ключ шифрования для текущей сессии.
Далее, сначала нам нужно найти сам алгоритм шифрования, для этого нам нужен исходный материал.
Добыча исходного материала для анализа:
Для начала нужно добиться того, чтобы пакетхак подключался к серверу и ловил пакеты, далее, ставим галку "не дешифровать трафик" или как там она обзывается.
Итак:
Нам нужны пакеты, в которых есть очень много байтов 00 идущих подряд, например: пакет UseSkill - в нем 1й байт - идшник пакета, далее 4 байта - идшник скилла (05 00 00 00 power strike - очень удобно) ну а дальше флаги нажатия клавиш шифт и контрол ( по-умолчанию - тоже нули).
Значиццо делаем так - топаем в безлюдное&безмобное место, садимся на ж... пардон на 5ю точку, выносим павер страйк на панельку быстрого доступа(или как она там называется) и зажимаем соответствующий батон на клаве. В одно мгновение к серверу улетают порядка 10-20 запросов на использование скила, после чего сервак присылает пакет эпик фейл, пардон ActionFail собссенно какого худенького мы сидя хотим павер страйк заюзать?
Так вот, сохраняем лог, точнее ту часть, где идут подряд(расрас!!11) интересующие нас пакеты юз скилл, без вкраплений левых пакетов типа валидайт позишн, нет пинг и прочего недоразумения. Ну и далее, зная, как должен выглядеть исходный пакет, и видя, как он выглядит на самом деле пытаемся методом тыка подобрать ключ и алгоритм, по которому совершается злючее коверкание трафика.
QaK вне форума   Ответить с цитированием
За это сообщение QaK нажился 8 спасибками от:
Старый 07.12.2010, 22:14   #3
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
Вопрос Стандартные методы шифрования.

QaK, Большое тебе спасибо! 1) За то что все обьяснил 2) Одним постом
Большинство конечно уже ясно стало из главной темы ветки...

Вот что еще не понятно (Ну уж такой я )
Цитата:
Сообщение от QaK Посмотреть сообщение
2) Обычно!!(расрас) 2й пакет(Init или как-то так) после начала обмена инфой с гейм сервером, содержит ключик, на основе которого генерируется ключ шифрования для текущей сессии.
Есть какие-нибудь методы извлечения ключа для сессии? Стандартные чтоле... или просто пример...
И не это ли делал VORON? (И что он тут вообще делал?)
Цитата:
1************************
3B C6 2D 02
b9 55 00 00 37 43 00 00
//2 xor 43= 41 //2D xor 1A=37
2************************
F1 A5 6E 77
73 36 00 00 74 36 00 00
//77 xor 36 =41 //6E xor 1A = 74
И есть ли стандартные алгоритмы шифрации, которые в последствии усложняют... (Разными... усложнениями) ?

Прошу прощения за некорректно заданные вопросы, исправляйте ламера...
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]

Последний раз редактировалось Nickers, 11.12.2010 в 13:09.
Nickers вне форума   Ответить с цитированием
Старый 08.12.2010, 01:23   #4
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Nickers,
Цитата:
Сообщение от Nickers Посмотреть сообщение
Есть какие-нибудь методы извлечения ключа для сессии? Стандартные чтоле... или просто пример...
И не это ли делал VORON? (И что он тут вообще делал?)
если стандартное шифрование, то пакетхак сам должен все расшифровывать, если нет - значит алгоритм поменяли
Цитата:
Сообщение от Nickers Посмотреть сообщение
И есть ли стандартные алгоритмы шифрации, которые в последствии усложняют
Стандартный алгоритм вшит в пакетхак, исходники общедоступны
QaK вне форума   Ответить с цитированием
За это сообщение QaK нажился 2 спасибками от:
Старый 09.12.2010, 00:10   #5
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
Вопрос Начальный ключ (8 байт)

QaK, Еще вопрос:
В цитате Ворона (3й пост) он просто (Случайно) начинал ксорит байты друг не друга? оО
Плин, вот написал это и понял что нх*я не понял)
Так от куда он взял 2й кусок (Это же должен быть "Начальный ключ" который нужно находить...)
А ксорит он для получения одинаковых значений... (Алгоритм) но как начать тогда без 2го куска?

Объясни плиз как сможешь) Для меня реально проблема...

Плин... а минуту назад я уже думал что осталось перейти к практике (То есть к ломанию мозга)

Тем кто тоже еще учится:
Оффтоп
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]

Последний раз редактировалось Nickers, 11.12.2010 в 13:08.
Nickers вне форума   Ответить с цитированием
Старый 09.12.2010, 19:50   #6
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Nickers, случайно ничего не бывает, Ворон сначала вычислили алгоритм шифрования, затем для нескольких сессий нашел сочетания: начальный ключ(4 байта) из 2го пакета, и начальный ключ шифрования(8 байт) который должен генерится из первого ключа, после чего он пытался найти, по какому принципу 4 байта становятся 8ю байтами
QaK вне форума   Ответить с цитированием
За это сообщение QaK нажился спасибкой от:
Старый 09.12.2010, 19:58   #7
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
Вопрос Правильный порядок действий.

Ясно) Большое спасибо...
1)ксорим рандомно, применяем логику, паримся - получаем Алгоритм и Начальный ключ (Для сессии)
2) Берем 4 байта (Этой же сессии) и ищем алгоритм составление этого Начального ключа...
3) 4 байта новой сессии подставляем к алгоритму составления ключа - получаем Начальный ключ новой сессии
4) Подставляем начальный Ключ в алгоритм с определенным пакетом(Шифрованным) (Из этой же сессии) получаем расшифрованный пакет, посылаем - УРА!
Надеюсь уж теперь то я все правильно понял))
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]

Последний раз редактировалось Nickers, 11.12.2010 в 13:06. Причина: Исправил)
Nickers вне форума   Ответить с цитированием
Старый 09.12.2010, 20:01   #8
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Nickers, ну, не рандомно ксорим в первом пункте, а логически ищем алгоритм, а так - все вроде правильно(ход мыслей)
QaK вне форума   Ответить с цитированием
За это сообщение QaK нажился спасибкой от:
Старый 11.12.2010, 13:05   #9
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
Вопрос Галочки в PH

QaK, Для разбора алгоритма лучше всего ставить какие галочки?

1) Не дешифровать трафик
2) Обход смены XOR ключа

(Или пробывать их комбинировать? (Это может усложнить разбор в разы))
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]
Nickers вне форума   Ответить с цитированием
Старый 12.12.2010, 20:57   #10
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

1 - поставить, 2 - убрать

Добавлено через 11 минут
Nickers, для разбора алгоритма нужен "нефильтрованый" траффик, который можно получить, как я уже отписался выше

Последний раз редактировалось QaK, 12.12.2010 в 20:57. Причина: Добавлено сообщение
QaK вне форума   Ответить с цитированием
За это сообщение QaK нажился 2 спасибками от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг > Шифрации серверов



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

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


Часовой пояс GMT +4, время: 19:27.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!