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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 19.02.2012, 12:09   #81
Пользователь
 
Регистрация: 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 вне форума   Ответить с цитированием
Старый 19.02.2012, 13:57   #82
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Tin-moon, keyConst это константная часть ключа. Зачем она - вопрос к разработчикам алгоритма, ну вот захотелось им что бы половина ключа приходила от серва а половина была константой...
ЗЫ в чем смысл передавать keyInit в метод в виде числа и преобразовывать там в массив, если эти байты ты получаешь из пакета в виде массива, смысл их в число превращать а потом обратно, только лишнее место для возможной ошибки делаешь
__________________
Я здесь практически не появляюсь!, Skype - ikskor

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

Цитата:
Сообщение от xkor Посмотреть сообщение
Tin-moon, keyConst это константная часть ключа. Зачем она - вопрос к разработчикам алгоритма, ну вот захотелось им что бы половина ключа приходила от серва а половина была константой...
ЗЫ в чем смысл передавать keyInit в метод в виде числа и преобразовывать там в массив, если эти байты ты получаешь из пакета в виде массива, смысл их в число превращать а потом обратно, только лишнее место для возможной ошибки делаешь
Понял. Пришел keyInit вот такой:
Код:
/*
* 0x19, 0x00, 
* 0x2e, 0x01, 
* 0x70, 0x5e, 0x4c, 0x79, 0x4d, 0x85, 0xf2, 0x44, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 
* 0x01, 0x00, 0x00, 0x00, 
* 0x00  
 */
По описанию нужно 16 байт брать (красным)? или 8??
И еще где посмотреть какие пакеты дальше? В описаниях нету таких которые перехватывает l2phx.3.5.9.113.
Tin-moon вне форума   Ответить с цитированием
Старый 19.02.2012, 15:27   #84
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

xkor, где-то ты и прав. Ну.. у меня эта функция переписана (кстати с исходников корректора =) ) и я решил ничего не трогать. А вообще лично мне с числами работать приятнее и удобнее.

вот мой пакет KeyInit

2E 01 - тип
BE AA E1 05 28 10 97 D9 C8 27 93 01 A1 6C 31 97 - ключ
01 00 00 00 00 00 00 00 00 00 00 00 00 - константа

Жирным выделена та самая константа, которую ты выделил в функции
Вообще эта константа должна быть всегда в KeyInit. Но у тебя я ее не наблюдаю, отсюда следует вывод: либо эта константа для тебя только лишняя, потому что у тебя KeyInit какой-то другой, либо KeyInit ты мне показал не правильный.

Добавлено через 1 минуту
Tin-moon, Да и вообще, в конце-то концов пора узнать, для каких хроник ты пишешь чат-клиент? )

Последний раз редактировалось Kilatif, 19.02.2012 в 15:46. Причина: Добавлено сообщение
Kilatif вне форума   Ответить с цитированием
Старый 19.02.2012, 15:31   #85
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Цитата:
Сообщение от Kilatif Посмотреть сообщение
xkor, где-то ты и прав. Ну.. у меня эта функция переписана (кстати с исходников корректора =) ) и я решил ничего не трогать. А вообще лично мне с числами работать приятнее и удобнее.

вот мой пакет KeyInit

2E 01 - размер
BE AA E1 05 28 10 97 D9 C8 27 93 01 A1 6C 31 97 - ключ
01 00 00 00 00 00 00 00 00 00 00 00 00 - константа

Жирным выделена та самая константа, которую ты выделил в функции
Вообще эта константа должна быть всегда в KeyInit. Но у тебя я ее не наблюдаю, отсюда следует вывод: либо эта константа для тебя только лишняя, потому что у тебя KeyInit какой-то другой, либо KeyInit ты мне показал не правильный.

Добавлено через 1 минуту
Tin-moon, Да и вообще, в конце-то концов пора узнать, для каких хроник ты пишешь чат-клиент? )
У меня почему-то повторяется.
Код:
0x19, 0x00, - размер пакета
0x2e, 0x01, - тип
0x70, 0x5e, 0x4c, 0x79, 0x4d, 0x85, 0xf2, 0x44, - я предполагаю, что это ключ
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00- непонятные.. в описании 2 раза только повторились.
Меня интересует следующий пакет в l2px(0x82)т.е. второй пакет который мы отправляем к серверу

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

Следующий пакет RequestAuthLogin (0x2B)

Tип: 0x2B (ReqAuthLogin)
Pазмер: 57+2
0002 s LoginName
001A d PlayKey2
001E d PlayKey1
0022 d LoginKey1
0026 d LoginKey2
002A d : 1
Kilatif вне форума   Ответить с цитированием
Старый 19.02.2012, 15:53   #87
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Цитата:
Сообщение от Kilatif Посмотреть сообщение
Следующий пакет RequestAuthLogin (0x2B)

Tип: 0x2B (ReqAuthLogin)
Pазмер: 57+2
0002 s LoginName
001A d PlayKey2
001E d PlayKey1
0022 d LoginKey1
0026 d LoginKey2
002A d : 1
Типа такой? С данными которые получил у логина?
Код:
XX XX           // Длина
08              // Тип
XX XX ... 00 00 // Login (Unicode строка)
XX XX XX XX     // SessionKey2_SecondPart
XX XX XX XX     // SessionKey2_FistPart
XX XX XX XX     // SessionKey1_FistPart
XX XX XX XX     // SessionKey1_SecondPart
01 00 00 00
Это не странно?

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

Tin-moon, да, такой по структуре, но тип 0x2B для Gracia и выше
Kilatif вне форума   Ответить с цитированием
Старый 19.02.2012, 17:23   #89
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Цитата:
Сообщение от Kilatif Посмотреть сообщение
Tin-moon, да, такой по структуре, но тип 0x2B для Gracia и выше
каковы размеры каждого блока?
0002 s LoginName - 14 байт
001A d PlayKey2 - 4 байт
001E d PlayKey1 - 4 байт
0022 d LoginKey1 - 4 байт
0026 d LoginKey2 - 4 байт
002A d : 1

и этот кусок хорим той функцией которые ты давал?

Добавлено через 21 минуту
Цитата:
Сообщение от Tin-moon Посмотреть сообщение
Это не странно?
Оно реально отправляет EnterWorld.... (51 байт). тестирую на l2emu HF. Ты вкурсе как обработать пакет?

Последний раз редактировалось Tin-moon, 19.02.2012 в 17:23. Причина: Добавлено сообщение
Tin-moon вне форума   Ответить с цитированием
Старый 19.02.2012, 17:32   #90
Местный
 
Регистрация: 23.02.2009
Сообщений: 319
Сказал Спасибо: 72
Имеет 60 спасибок в 45 сообщенях
Kilatif пока неопределено
По умолчанию

Код:
и этот кусок хорим той функцией которые ты давал?
все пакеты после KeyInit ксорятся той функцией которую я давал

Код:
Это не странно?
Странно, очень даже странно...
Kilatif вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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