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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 19.02.2012, 12:09   #10
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Цитата:
Сообщение от ErgoZ Посмотреть сообщение
tin-moon а ты на яве пишешь? или на другом языке?
Java

Добавлено через 10 часов 8 минут
Цитата:
Сообщение от Kilatif Посмотреть сообщение
Tin-moon, у меня с сокетами тоже не все впорядке, поэтому врятли тебе в этом помогу) Что касается ProtocolVersion. Я посылаю первый вариант, т.е. с константой, просто потому что так делает клиент, хотя прокатывает и второй.
Странно получил данные отрубился от логина подрубился к гейм, отправил ProtocolVersion без констант - реакции никакой. Отправил с константами реакции никакой). Возник вопрос константы как формируются?? А длина пакета с константами 267 байт? Без констант я так предпологаю что длина 5 байт? Или я ошибся где-то?

Пихаю гейм серверу пакеты, а реакции нету. В чем может быть проблема?

Добавлено через 15 часов 25 минут
Цитата:
Сообщение от Kilatif Посмотреть сообщение
Что касается шифрации.
Первые 2 пакета не шифруются (ProtocolVersion(Client->GS) и KeyInit(GS->Client)).
Пакеты после KeyInit шифруются xor-шифрованием со сменой ключа. Первый ключ берется в пакете KeyInit, остальные берутся из следующих пакетов.
Во вложении класс для работы с этим xor-шифрованием
Наконец получилось отправить ProtocolVersion. Незнаю что было, отправлял одно и тоже (заработало с константами). Вопрос по существу:
Получил KeyInit, переписал xor-шифрованием под яву, возник вопрос зачем public void InitKey(long keyInit) - что ты туда подпихиваешь (это ключ который пришел в KeyInit?) и самое интересное, зачем keyConst?
Код:
        public CryptXor()
        {
            isInit = true;
        }
        public void InitKey(long keyInit)
        {
            byte[] keyConst = new byte[8] {0xC8, 0x27, 0x93, 0x01, 0xA1, 0x6C, 0x31, 0x97};

            this.keyLength = 15;
            Array.Copy(BitConverter.GetBytes(keyInit), 0, GKeyS, 0, 8);
            Array.Copy(keyConst, 0, GKeyS, 8, 8);
            Array.Copy(GKeyS, 0, GKeyR, 0, 16);
            
            this.isInit = true;
        }

Последний раз редактировалось Tin-moon, 19.02.2012 в 12:12. Причина: Добавлено сообщение
Tin-moon вне форума   Ответить с цитированием
 

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



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

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


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

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

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