Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 26.05.2009, 10:14   #51
Пользователь
 
Аватар для Maxno
 
Регистрация: 26.05.2009
Сообщений: 70
Сказал Спасибо: 32
Имеет 13 спасибок в 10 сообщенях
Maxno пока неопределено
Вопрос ----====*====----

Люди никто не знает как работает авторизация на HB-Gracia, http://fursoffers.narod.ru/Packets.htm тут описано под Interlude, но щас это уже не актуально... Может кто как поможет? ну хотя бы алгоритм типо что куда шифрует в какой последовательности...


Кодинг на Delphi.
Maxno вне форума   Ответить с цитированием
Старый 26.05.2009, 12:26   #52
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

исходный код пх на свн.
там есть класс отвечающий за дешифровку протокола гс <> клиент.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
За это сообщение alexteam нажился спасибкой от:
Старый 26.05.2009, 14:56   #53
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

alexteam, вообщето авторизация происходит на логин сервере...

В общих чертах авторизация на HB-Gracia происходит так:
1. Пакет от сервера размером 186 байт зашифрованный по BlowFish начальным 16тибайтным ключем (ключ как в интерлюдии, наизусть его не помню), после дешифровки BF надо ещё дешифровать по XOR, ключ для него находиться на месте чексуммы пакета (178-181 байты), алгоритм дешифрации могу выложить когда домой приду...
В этом пакете с ID=0 следующий формат данных:
4 байта - session id
4 байта - ревизия протокола ($c621 вроде)
128 байт - RSA ключ заскремблированный (как дешифровать в нормальный ключ тож могу выложить)
16 байт - какие то GameGuard значения неизвестного назначения
16 байт - новый BF ключ для следующих пакетов
остальное нули...
Это пакет Init из той статьи что ты привёл, ну а дальше собсно всё как в статье)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился 4 спасибками от:
Старый 26.05.2009, 22:04   #54
Пользователь
 
Аватар для Maxno
 
Регистрация: 26.05.2009
Сообщений: 70
Сказал Спасибо: 32
Имеет 13 спасибок в 10 сообщенях
Maxno пока неопределено
По умолчанию

ООо, большой сенк всем,
xkor, буду благодарен если дашь как норм дешифровать RSA ключ. и про XOR ключ если выложишь - только на пользу пойдёт


BF ключ я нашёл только такой - 6B60CB5B82CE90B1CC2B6C556C6C6C6C
написано под интерлюд... есть еще такой, но он вроде под С4, 5F3B352E5D39342D33313D3D2D257854215E5B24

Последний раз редактировалось Maxno, 26.05.2009 в 22:45.
Maxno вне форума   Ответить с цитированием
За это сообщение Maxno нажился спасибкой от:
Старый 26.05.2009, 22:54   #55
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

6B60CB5B82CE90B1CC2B6C556C6C6C6C - эт верно
delphi Код:
procedure deScrambleRSAKey(var raw); var   ab: array[0..127] of Byte absolute raw;   i:  Word;   b:  Byte; begin   for i:=0 to $3f do ab[$40+i]:=ab[$40+i] xor ab[i];   for i:=0 to $03 do ab[$0d+i]:=ab[$0d+i] xor ab[$34+i];   for i:=0 to $3f do ab[i]:=ab[i] xor ab[$40+i];   for i:=0 to $03 do begin     b:=ab[i];     ab[i]:=ab[$4d+i];     ab[$4d+i]:=b;   end; end;   PFixPck = ^TFixPck;   TFixPck = packed record case Integer of     0:(ch:    array[Word] of Char);     1:(bt:    array[Word] of Byte);     2:(size:  Word;        id:    Byte;        dbt:   array[0..65532] of Byte);   end; procedure LoginXORDecrypt(var xpck: TFixPck); var   i,k: Integer; begin   i:=xpck.size-8;   k:=PInteger(@xpck.ch[i])^;   while i>=6 do begin     PInteger(@xpck.ch[i])^:=PInteger(@xpck.ch[i])^ xor k;     k:=k-PInteger(@xpck.ch[i])^;     i:=i-4;   end; end;
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился 7 спасибками от:
Старый 29.05.2009, 01:57   #56
Пользователь
 
Аватар для Maxno
 
Регистрация: 26.05.2009
Сообщений: 70
Сказал Спасибо: 32
Имеет 13 спасибок в 10 сообщенях
Maxno пока неопределено
По умолчанию

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


ЗЫ: Думаю полезно будет не только мне одному
Maxno вне форума   Ответить с цитированием
Старый 29.05.2009, 03:17   #57
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Maxno, я почти всему в гугле учился), ну точнее там куда он посылал)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 21.06.2009, 20:57   #58
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

Maxno, для написания своего бота (информера) вся работа с сокетами сводится к нескольким простым функциям. Тебе нужно создать сокет, подключиться к серверу по определенному адресу на определенный порт, и использовать потом 2 функции чтения и записи данных с этого сокета и все в минимальном варианте. А остальное это уже прикладное программирование и тут нужно учиться самому хотя бы на примерах. Если нужен пример работы с сокетами могу выложить с подробнейшим описанием что и зачем, или напиши куда и я тебе пришлю книгу по делфи где все подробно описано.

Добавлено через 6 часов 1 минуту
xkor, Это пакет Init из той статьи что ты привёл, ну а дальше собсно всё как в статье) - что то совсем все не так дальше как в той статье, даже длины пакетов не совпадают совсем. Чем зашифрованы последующие пакеты, ну хотябы RequestAuthLogin от клиента? Как непробовал дешифровать не удаеться. Пробовал использовать BlowFish с ключем, который приходит с пакетом Init - не подходит. (Дешифровать пробую пакеты перехваченные в процессе логина обычного клиента на Шок ЛС).

Последний раз редактировалось Yegor, 21.06.2009 в 21:02. Причина: Добавлено сообщение
Yegor вне форума   Ответить с цитированием
За это сообщение Yegor нажился спасибкой от:
Старый 21.06.2009, 22:52   #59
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Yegor, значит неверно дешифруешь или ключ берешь неверно...
ЗЫ или дешифруешь пакеты одной сессии ключем от другой сессии, ключ то при каждом подключении разный)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 21.06.2009, 23:40   #60
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

xkor, нет беру с текущей сесии. Байты для ключа я беру из декодированого пакета init начиная со 153 байта (если считать что нулевой байт это id пакета). Первый пакет (init) расшифровал правилно, все сходится с твоим описанием. Ключ брать в прямом или обратном порядке?


Так задача усложнилась оказывается после пакета init ещё должен идти AuthGG, а в пакете с логином и паролем они закодированы RSA ключом.

Пробовал использовать процедуру RSAEncrypt из примера la2_client_emu, с тем же RSA ключом и тем же логином и паролем строка получается совсем не такая как у клиента Л2. Поделитесь кто нибудь функцией RSA кодирования.

Последний раз редактировалось Yegor, 22.06.2009 в 03:47.
Yegor вне форума   Ответить с цитированием
За это сообщение Yegor нажился спасибкой от:
Ответ

  CoderX :: Forums > Основные форумы > Программинг



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

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


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

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

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