Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Разработка
Войти через OpenID

Разработка Раздел для совместной разработки/доработки программы

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 15.02.2012, 00:33   #61
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Tin-moon, так у тебя блоуфиш до сих пор не работает? Ты возьми в Delphi и в java объяви по блоуфишку, инициализируй их одинаковым ключем и посмотри как они кодируют и декодируют одинаковые данные (это необязательно должен быть пакет, любой свой массив).
Kilatif вне форума   Ответить с цитированием
Старый 15.02.2012, 00:37   #62
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Код:
data:=((key[j] and $FF)shl 24) or
     ((key[(j+1) mod Size] and $FF)shl 16) or 
     ((key[(j+2) mod Size] and $FF)shl 8)  or
      (key[(j+3) mod Size] and $FF);
мне кажется, что это неправильно переписали.. как работает key[(j+3) mod Size?

Добавлено через 2 минуты
Цитата:
Сообщение от Kilatif Посмотреть сообщение
Tin-moon, так у тебя блоуфиш до сих пор не работает? Ты возьми в Delphi и в java объяви по блоуфишку, инициализируй их одинаковым ключем и посмотри как они кодируют и декодируют одинаковые данные (это необязательно должен быть пакет, любой свой массив).
Понимаешь проблема не в кодировать декодировать а в самом ините, там уже разные данные получаются.
Например, после этого кода
Код:
	for i:=0 to 17 do begin
    data:=((key[j] and $FF)shl 24)or((key[(j+1) mod Size] and $FF)shl 16)or((key[(j+2) mod Size] and $FF)shl 8)or(key[(j+3) mod Size] and $FF);
		PArray[i] := PArray[i] xor data ;
		j := (j + 4) mod Size ;
	end;
На яве совпало только то что с +
/*
(1331667411+, 124622946+, 3744654971, 1864113960+, 3479827321, 2874253665,
3288700621, 2149712101, 776530621+, 3122561990, 1920928410+, 1485135872+,
2882331372, 1270005868+, 4088379872, 3643499899, 4185267842, 196570026+)
*/

Сори малек затупил это часть верно (пора ложиться спать наверно), не верные данные вот от сюда:
Код:
	datal := 0 ;
	datar := 0 ;
	for i:=0 to 8 do begin
		Blowfish_encipher (datal, datar) ;
		PArray[i*2] := datal ;
		PArray[i*2 + 1] := datar ;
	end;
Наверно мне нужно разобрать что я там с Blowfish_encipher натупил.

Последний раз редактировалось Tin-moon, 15.02.2012 в 01:55. Причина: Добавлено сообщение
Tin-moon вне форума   Ответить с цитированием
За это сообщение Tin-moon нажился спасибкой от:
Старый 15.02.2012, 02:20   #63
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

key[(j+3) mod Size] - нуу, берет из ключа key элемент (j+3) mod Size, где mod - Это операция для вычисления от деления на Size
Kilatif вне форума   Ответить с цитированием
Старый 15.02.2012, 12:40   #64
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

To Kilatif

Вроде отладил BlowFish. Нашел вроде где у меня ошибка.
Код:
    if temp[0]=#0 then begin
      SetLength(s,Len-2);
      for i:=0 to Len-3 do s[i+1]:=temp[i];
      for i:=0 to Len-3 do temp2[i+1]:=temp1[i];
      s:=AntiXor(s);
      for i:=0 to Len-3 do temp[i]:=s[i+1];
    end;
Вот этот кусок проблемный. Там зачем-то перегнали в массив char, сняли хор и вернули. Конкретно проблема с правильной инициализацией s наверно. Выкинь прлз этот кусок(это в procedure LS_parser). Ну и чтобы наверняка и AntiXor(s); -- ее вроде проверил на куске байт переводит верно, но навсякий случай.
Tin-moon вне форума   Ответить с цитированием
Старый 15.02.2012, 13:06   #65
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Tin-moon, у меня это сделано в другом классе вот таким образом:
Код:
private byte[] DecryptLoginServer(byte[] packet, int packetSize)
        {
            byte[] result = (byte[])Funcs.DeepClone(packet);

            result = blowfish.Decode(packet);
            if (packet[0] == 0)
            {
                result = Funcs.AntiXor(result);
            }

            return result;
        }
AntiXor я кидал страницами ранее
Kilatif вне форума   Ответить с цитированием
Старый 15.02.2012, 13:10   #66
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Как ты заполняешь byte[] packet ?? Из того пакета который пришел.
Цитата:
Сообщение от Kilatif Посмотреть сообщение
Tin-moon, у меня это сделано в другом классе вот таким образом:
Код:
private byte[] DecryptLoginServer(byte[] packet, int packetSize)
        {
            byte[] result = (byte[])Funcs.DeepClone(packet);

            result = blowfish.Decode(packet);
            if (packet[0] == 0)
            {
                result = Funcs.AntiXor(result);
            }

            return result;
        }

AntiXor я кидал страницами ранее
Tin-moon вне форума   Ответить с цитированием
Старый 15.02.2012, 19:07   #67
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Tin-moon, packet - это пакет, который только-только пришел от сервера и с убранными двумя байтами размера
Kilatif вне форума   Ответить с цитированием
Старый 15.02.2012, 22:29   #68
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Нашел свою ошибку) ппц я просто ржал немог. Создал клон входящих данных работал с ним, а итог записал не туда и возвращал не те данные . Успешно получил LS_GGAuth. Ща попробую дальше.

To Kilatif
Можешь выложить функции RepairKey и RSAEncrypt ?

Последний раз редактировалось Tin-moon, 15.02.2012 в 23:58.
Tin-moon вне форума   Ответить с цитированием
За это сообщение Tin-moon нажился спасибкой от:
Старый 16.02.2012, 00:49   #69
Новичок
 
Регистрация: 12.02.2012
Сообщений: 27
Сказал Спасибо: 8
Имеет 0 спасибок в 0 сообщенях
ErgoZ пока неопределено
По умолчанию

Tin, не поделишься ф-циями по блоуфишу и антиксору для явы, а то у меня бред получается (((
ErgoZ вне форума   Ответить с цитированием
Старый 16.02.2012, 01:31   #70
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Tin-moon
Во вложении 2 файла, те ф-ции, которые ты просил + левый скачанный с инета класс по работе с большими числами, который я использовал в RSAEncrypt.
Вложения
Тип файла: rar Archive.rar (19.2 Кб, 50 просмотров)
Kilatif вне форума   Ответить с цитированием
За это сообщение Kilatif нажился спасибкой от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Разработка



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

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


Часовой пояс GMT +4, время: 21: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

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