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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 23.09.2008, 12:56   #1
Местный
 
Аватар для nezabudkin
 
Регистрация: 06.03.2008
Сообщений: 154
Сказал Спасибо: 46
Имеет 130 спасибок в 38 сообщенях
nezabudkin
По умолчанию

Давно уже бьюсь с тем же сервером!
Все думал выкладывать свои изыскания или нет. У меня пока затуп именно в алгоритме изменения ключа. Исследовал весь АЧ, там у народа полный затуп, все ищут мифический токен для волкера)). Понял что не только к ЭТОМУ серверу относится данный алгоритм шифрования. Админы l2/s/e r ver .ru просто купили этот алгоритм.

В итоге пришел к выводу, что действительно, чтобы ломануть шифрацию от клиента к ГС, надо написать эмулятор ГС, а конкретнее секции выбора чара. В итоге такой скрипт я разработал, но, честно говря, так и не понял алгоритма смены ключа, после чего и забил ваще на всю линейку)

Добавлено через 17 минут
В итоге, вот к чему я пришел:

У нас в защите используются 2 независимых ключа шифрования (один поверх другого). Метод шифрования везде xor.

оба ключа 8-байтные

1-ый ключ (4 байта) берется из криптинит, разбиватеся на 2 части и ксорится на константу 82 93 00 00 1A 41 00 00, получаем начальный ключ №1
2-ой ключ берется из пакета 0D RequestAuthLogin поле LoginKey2, к нему дописыватеся еще такой-же и ксорится на константу 61 F6 5B 62 1A 08 B9 CD, получаем начальный ключ №2 (хотя после последнего поста от kolosOK, я уже не очень в этом уверен)

Алгоритм изменения ключей я так и не понял, как эти ключи живут вместе тоже не понял(

Добавлено через 3 минуты
Цитата:
Сообщение от kolosOK Посмотреть сообщение
пока всё, щас с мыслями соберусь и может ещё накатаю
Так что, kolosOK, жду от тебя продолжения с нетерпением!!!

Последний раз редактировалось nezabudkin, 23.09.2008 в 12:56. Причина: Добавлено сообщение
nezabudkin вне форума   Ответить с цитированием
Старый 23.09.2008, 13:21   #2
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от nezabudkin Посмотреть сообщение
. Исследовал весь АЧ, там у народа полный затуп, все ищут мифический токен для волкера)). Понял что не только к ЭТОМУ серверу относится данный алгоритм шифрования. Админы l2/s/e r ver .ru просто купили этот алгоритм.
АЧ зборище ГМов с разных серверов, сидят с 300ми постами и отлавливают баги под хайдами чтобы пофиксить,
реально там тебе никто непоможет,
там собралось общество полубогов и на нас там смотрят с презрением.
Попробуй набери там двести постов!! если ты не ГМ и незнаешь игру изнутри
  Ответить с цитированием
Старый 23.09.2008, 16:34   #3
Пользователь
 
Регистрация: 06.09.2008
Сообщений: 32
Сказал Спасибо: 6
Имеет 9 спасибок в 4 сообщенях
kolosOK пока неопределено
По умолчанию

... не знаю кк насчёт гмов, но вот в плане помощи ач стал действительно не какой, всё делается за деньги, собственно сам форум себя уже исчерпал, потому как за деньги можно сделать всё что угодно из без форума ач

по мыслям ... щас времени нету всё описавать, скажу только что там кроме того что я написал больше ничего нет, есть только огромный список констант ... тоесть если вы зделаете всё ка описал выше то найдёте их, только рассматривать надо не 100 пакетов и не 200, а где то 8000
kolosOK вне форума   Ответить с цитированием
Старый 24.09.2008, 11:28   #4
Местный
 
Аватар для nezabudkin
 
Регистрация: 06.03.2008
Сообщений: 154
Сказал Спасибо: 46
Имеет 130 спасибок в 38 сообщенях
nezabudkin
По умолчанию

Цитата:
Сообщение от kolosOK Посмотреть сообщение
скажу только что там кроме того что я написал больше ничего нет, есть только огромный список констант ... тоесть если вы зделаете всё ка описал выше то найдёте их, только рассматривать надо не 100 пакетов и не 200, а где то 8000
Вот, блин, порадовал. Только я не очень понял, эти константы относятся к алгоритму изменения ключа (ключей) или к шифрованию пакетов посредством ключей+ набор констант?
nezabudkin вне форума   Ответить с цитированием
Старый 26.09.2008, 21:53   #5
Пользователь
 
Регистрация: 06.09.2008
Сообщений: 32
Сказал Спасибо: 6
Имеет 9 спасибок в 4 сообщенях
kolosOK пока неопределено
По умолчанию

тут скрипт под другую программу
http://depositfiles.com/files/8245820
но всё что нужно там есть, всем удачи
kolosOK вне форума   Ответить с цитированием
За это сообщение kolosOK нажился 5 спасибками от:
Старый 23.09.2008, 22:16   #6
Новичок
 
Регистрация: 13.11.2007
Сообщений: 10
Сказал Спасибо: 4
Имеет 1 спасибку в 1 сообщении
maxim22
По умолчанию

//кстати может есть у кого эмулятор сервера, чтоб тупо посылал паКеты что я ему укажу ?

Я тут у себя поковырялся в загашниках,кое что нарыл, может пригодится вам?!
http://rapidshare.com/files/14775852...r-sLA.rar.html
на вопросы по ним ответить не смогу т.к толком ничего не знаю...
если по делу то хотелось бы помощи по моему вопросу но в ПМ .
всем удачи.
maxim22 вне форума   Ответить с цитированием
За это сообщение maxim22 нажился спасибкой от:
Старый 29.09.2008, 15:51   #7
Местный
 
Аватар для nezabudkin
 
Регистрация: 06.03.2008
Сообщений: 154
Сказал Спасибо: 46
Имеет 130 спасибок в 38 сообщенях
nezabudkin
По умолчанию

Ща будем тестить в wpf,
если заработает !!!, то останется дело замалым,
на основе этого скрипта, разработать newxor.dll

kolosOK, тебе отдельное огромное спасибо!
Полгода спать не мог, поночам эти шифры мерещились))

Добавлено через 4 часа 5 минут
Скрипт полностью рабочий!

Последний раз редактировалось nezabudkin, 29.09.2008 в 15:51. Причина: Добавлено сообщение
nezabudkin вне форума   Ответить с цитированием
Старый 30.09.2008, 03:29   #8
Пользователь
 
Регистрация: 06.09.2008
Сообщений: 32
Сказал Спасибо: 6
Имеет 9 спасибок в 4 сообщенях
kolosOK пока неопределено
По умолчанию

Цитата:
Сообщение от nezabudkin Посмотреть сообщение
Ща будем тестить в wpf,
если заработает !!!, то останется дело замалым,
на основе этого скрипта, разработать newxor.dll

kolosOK, тебе отдельное огромное спасибо!
Полгода спать не мог, поночам эти шифры мерещились))

Добавлено через 4 часа 5 минут
Скрипт полностью рабочий!
хе хе, а я 1,5 недели не спал почти, а под конец разочаровался, я думал там посуровей всё ...
kolosOK вне форума   Ответить с цитированием
Старый 08.10.2008, 20:52   #9
Местный
 
Аватар для nezabudkin
 
Регистрация: 06.03.2008
Сообщений: 154
Сказал Спасибо: 46
Имеет 130 спасибок в 38 сообщенях
nezabudkin
Радость Защита L/2/s/e/r/v/e/r/./r/u/

И так, выкладываю алгоритмы шифрования ГС от L/2/s/e/r/v/e/r:

Здесь и далее все выкладки сделаны на основе скрипта под WPF, от автора kolosOK, за что спасибо ему большое!

От сервера:
Здесь все просто!
ключ берется из криптинит (4 байта), разбиватеся на 2 части и ксорится на константу
82 93 00 00 1A 41 00 00
x1 x2 00 00 x3 x4
где x- байты ключа из криптинит, итого размер ключа у нас 8 байт.
Далее используется стнадартный механизм шифрации/дешифрации линейки, типа:
for k:=size-1 downto 1 do
pck[k]:=pck[k] xor GKeyR[k and keyLen] xor pck[k-1]; //дешифрация
if size<>0 then pck[0]:=pck[0] xor GKeyR[0];

Алгоритм изменения ключа:
первые 4 байта ключа увеличиваются на длинну пакета (тоже стандартный алгоритм)
вторые 4 байта ключа получаем путем ксоринга их на первые 4 байта:
Inc(PLongWord(@GKeyR[0])^,size);
PLongWord(@GkeyR[4])^:= (PLongWord(@GKeyR[0])^) xor (PLongWord(@GKeyR[4])^);

Теперь от клиента:
Ключ1 берем аналогично,
ключ берется из криптинит (4 байта), разбиватеся на 2 части и ксорится на константу
82 93 00 00 1A 41 00 00
x1 x2 00 00 x3 x4
где x- байты ключа из криптинит, итого размер ключа у нас 8 байт.
Этим ключем дешифруем пакет 08 - RequestAuthLogin
Алгоритм шифрации/дешифрации здесь тоже стандартный.
В нем нас интересует поле LoginKey2. Запоминаем его (4 байта), и дописываем еще такой-же. Получаем ключ2.
Так-же существует массив байт (случайных чисел) в размере 65536. (Я его взял из скрипта под wpf любезно предоставленного автором kolosOK).
Алгоритм изменения ключа (вот тут разработчики намудрили!):
Ключ шифования меняется если длинна пакета больше 1 байта.
ключ1 (или потом просто ключ) ксорим на ключ2 и ксорим на 8байт из массива, взятых с определенным смещением, равным количеству дешифрованных пакетов.
Вот алгоритм:
KeyCounter1:= KeyCounter1 + 4;
if KeyCounter1= 32769 then KeyCounter1:= 1;
PLongWord(@GKeyR[0])^:= PLongWord(@GKeyR[0])^ xor PLongWord(@KeyClient[0])^;
PLongWord(@GKeyR[4])^:= PLongWord(@GKeyR[4])^ xor PLongWord(@KeyClient[4])^;
PLongWord(@GKeyR[0])^:= PLongWord(@GKeyR[0])^ xor PLongWord(@KeyConst[KeyCounter1])^;
PLongWord(@GKeyR[4])^:= PLongWord(@GKeyR[4])^ xor PLongWord(@KeyConst[65536-KeyCounter1-2])^;

Исходники моего newxor выложу на днях...

Последний раз редактировалось nezabudkin, 16.10.2008 в 14:14.
nezabudkin вне форума   Ответить с цитированием
За это сообщение nezabudkin нажился 5 спасибками от:
Старый 15.10.2008, 15:29   #10
Местный
 
Аватар для nezabudkin
 
Регистрация: 06.03.2008
Сообщений: 154
Сказал Спасибо: 46
Имеет 130 спасибок в 38 сообщенях
nezabudkin
Радость newxor.dll для l/2/s/e/r/v/e/r/./r/u

Собственно выкладываю dll-ку, которая дешифрует вышеуказанный сервак)

В архиве кроме самой дллки и файлов исходников, есть еще 2 файла (их надо поместить в папку с пакетхаком):
keyconst - файл с константами для шифрования
name.txt - файл в котором надо указать первые 3 буквы логин нейма, можно даже указать правильно первую и третью буквы, а вторую неважно, лишь бы была)

Собственно глубокое изучение newxor.dll и фрагментов кода пакетхака, отвечающих за передачу пакетов в newxor, показало мне, что некоректно передается в библиотеку начальный ключ шифрования, по этому библиотеку очень сложно переписывать под нестандартные системы шифрования.
Вложения
Тип файла: rar newxor_l2server.rar (106.9 Кб, 200 просмотров)
nezabudkin вне форума   Ответить с цитированием
За это сообщение nezabudkin нажился 3 спасибками от:
Ответ

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



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

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


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

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

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