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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 30.09.2012, 10:35   #21
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

Цитата:
Сообщение от Rzone Посмотреть сообщение
Нет там ошибки, он на С4 работал, я его с дельфийских исходников переписывал. А нестандартным ключом могут шифровать?
теоретически все могут) попробуй сначала на сервере где точно ничего "дополнительного" нет)
Цитата:
Сообщение от Rzone Посмотреть сообщение
Опкод сразу после дешифровки блоуфишем должен быть?
Да, опкод 00 виден сразу после дшифрации статичным bf ключем.
Цитата:
Сообщение от Rzone Посмотреть сообщение
Это с документации про протокол Л2. Может теперь еще надо ксором дешифровать?
Да надо, я в пункте 2 так и написал же. Но это для того чтобы достать RSA ключ а не опкод.
Цитата:
Сообщение от Rzone Посмотреть сообщение
Init содержит динамический Blowfish ключ случайно генерируемый для каждого клиента.
Да. в пункте 4 я писал про него как раз.
Цитата:
Сообщение от Rzone Посмотреть сообщение
Читал форум, всех везде отсылают на доки, а там про интерлюд поверхностно очень.
Описаный мной алготим точно пашет от ИЛа до фреи, это по крайней мере то что я проверял)

Последний раз редактировалось PornoTraktor, 30.09.2012 в 11:13.
PornoTraktor вне форума   Ответить с цитированием
За это сообщение PornoTraktor нажился спасибкой от:
Старый 30.09.2012, 10:45   #22
Пользователь
 
Регистрация: 20.02.2012
Сообщений: 37
Сказал Спасибо: 9
Имеет 0 спасибок в 0 сообщенях
Rzone пока неопределено
По умолчанию

Блин... можешь своим алгоритмом мой пакет расшифровать? Пожалуйста
Rzone вне форума   Ответить с цитированием
Старый 30.09.2012, 11:10   #23
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

Код:
BA000076F596E5B02F5AD7913AA5EFF9
B71F235A07CFBF98D6D3E78709BE9953
282F2AB12B1BE76198BBFC99C8D4A5B7
1DD646C83D0E5CF32A1DBF15D4563200
248A33EA603DB932B3005DFDAFEEAD0E
54E92804637EA9DA410F02EACED59F99
4D7F57B94C6450170C0BAD0F63038015
5250711CCF8C580B951066FD3466EDC0
F65CC999D03011E5787C32777F0159C9
1B6390758BE3E9BAFEB182FFE30F8F67
1536B62076AE018BFB30C5696047C669
C9FFED69B270C94F390E


Добавлено через 53 секунды
это сразу после дешифрации статичным bf ключиком

Последний раз редактировалось PornoTraktor, 30.09.2012 в 11:12. Причина: Добавлено сообщение
PornoTraktor вне форума   Ответить с цитированием
За это сообщение PornoTraktor нажился спасибкой от:
Старый 30.09.2012, 13:46   #24
Пользователь
 
Регистрация: 20.02.2012
Сообщений: 37
Сказал Спасибо: 9
Имеет 0 спасибок в 0 сообщенях
Rzone пока неопределено
По умолчанию

Хих, нашел ошибку - размер ключа у себя не указал, было 21, сделал 16 - все заработало Щас буду ксорить. Алгоритм тотже что и в С4?
Rzone вне форума   Ответить с цитированием
Старый 30.09.2012, 13:53   #25
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Rzone, здесь исходники http://coderx.ru/showpost.php?p=13769&postcount=33
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 30.09.2012, 13:58   #26
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

Rzone, на чем пишешь то?
PornoTraktor вне форума   Ответить с цитированием
Старый 30.09.2012, 21:18   #27
Пользователь
 
Регистрация: 20.02.2012
Сообщений: 37
Сказал Спасибо: 9
Имеет 0 спасибок в 0 сообщенях
Rzone пока неопределено
По умолчанию

PornoTraktor, на BlitzMax - высокоуровневый язык смесь бейсика Си паскаля. При возможности подключать длл и юзать функции из уже загруженных системных либ, типа юзер32 - на нем могу написать практически все) Язык очень шустрый компилятор от ассемблера.

Добавлено через 34 минуты
NLObP, спасибо за исходники. Я так понял они только для логин сервера. У меня прекрасно проходят авторизацию, значит подводных камней быть не должно))

Первый пакет пройден) Пришлось основательно переработать дельфийские исходники.

Добавлено через 6 часов 29 минут
Цитата:
Сообщение от PornoTraktor Посмотреть сообщение
4.с 153 байта по 169 лежит динамический blowfish ключ
со 155 по 171, хотя если без первых двух байт длины пакета то да 153-169

Последний раз редактировалось Rzone, 30.09.2012 в 21:18. Причина: Добавлено сообщение
Rzone вне форума   Ответить с цитированием
Старый 30.09.2012, 21:22   #28
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

Rzone, ну я подумал будет понятно что я начал нумерацию байтов с опкода - "1 первый байт должен получится 00 - опкод пакета Init"
PornoTraktor вне форума   Ответить с цитированием
Старый 30.09.2012, 22:06   #29
Пользователь
 
Регистрация: 20.02.2012
Сообщений: 37
Сказал Спасибо: 9
Имеет 0 спасибок в 0 сообщенях
Rzone пока неопределено
По умолчанию

Блин, опять проблема. Дошел до криптования логина/пароля в исходниках процедура использующая здоровую библиотеку FGint, переписывать все очень долго, можно конечно сделать библиотеку из сырцов, но хотелось бы разобраться и написать все самому...
Тут вообще ничего не пойму:
Код:
function RSAEncrypt(a,p,rsakey:string):string;
var
  sD,sR,sM:string;
  m,e,d,r:TFGInt;
begin
  if length(a)>14 then setlength(a,14);
  while length(a)<14 do a:=a+#0;
  if length(p)>16 then setlength(p,16);
  while length(p)<16 do p:=p+#0;
  sD:=a+p+#0#0#0#0;
  sM:=rsakey;
  Base10StringToFGInt('65537',e);
  Base256StringToFGInt(sD,d);
  Base256StringToFGInt(sM,m);
  FGIntMontgomeryModExp(d,e,m,r);
  FGIntToBase256String(r,sR);
  result:=sR;
end;
PornoTraktor, если у тебя функция небольшая криптующая логин/пароль по RSA может поделишься?)
Rzone вне форума   Ответить с цитированием
Старый 30.09.2012, 22:20   #30
Новичок
 
Регистрация: 25.09.2012
Сообщений: 22
Сказал Спасибо: 0
Имеет 8 спасибок в 8 сообщенях
PornoTraktor пока неопределено
По умолчанию

Rzone, у меня на жаве бот, там это делается так
Код:
            KeyFactory keyFactory = KeyFactory.getInstance("RSA");
            PublicKey publicKey = keyFactory.generatePublic(
                    new java.security.spec.RSAPublicKeySpec(
                            new BigInteger(1, this.publicRsaKey),
                            new BigInteger("65537"))
            );
            Cipher rsaCipher = Cipher.getInstance("RSA/ECB/NoPadding");
            rsaCipher.init(Cipher.ENCRYPT_MODE, publicKey);
            offset = 3;
            writeB(rsaCipher.doFinal(buff, offset, 0x80));
если чем-то поможет)) вообще мне кажется лучше взять какие-то готовые либы, чем изобретать велосипед. Кстати - вот везде пишут RSA... RSA, а какой RSA? Там много разновидностей алгоритма (в нашем случае "RSA/ECB/NoPadding") есть и надо знать модуль (65537) - его нигде нету! Пока сам не залез в исходники l2jserver так и не разобрался...
PornoTraktor вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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