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

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

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

Цитата:
Сообщение от Demion Посмотреть сообщение
Честно говоря, не помню. Судя по всему это какие-то константные данные. В любом случае бот работал на офф сервере. Сравни с тем, что шлет твой клиент.
Ну если по тому что расшифровывает l2ph у меня тоже константа но другая. Какие хроники у тебя?

XorEncrypt - чот невтыкаю как она шифрут данные... (+)
Разобрался, результат такой же как и у меня....

Что возвращает?
Код:
memcpy(buf+1, ULogin, wcslen(ULogin)*2+2);
memcpy(buf+wcslen(ULogin)*2+3, SessionKey4, sizeof(DWORD));
Добавлено через 12 часов 3 минуты
Возникла идея, кто может подсказать где на сервере(l2jserver или l2emu HF, можно любой другой где открытые исходники) сделать вывод того что отправляется на клиент (конкретно это сесионные ключи)? Лучше то место где еще не шифруется.

Все проверил, вроде верно. Есть предположение что не правильно получаю SessionKey2_1 и SessionKey2_2. Первые два скорее всего верно так как там потом с помощью их получам список серверов.
Это верно?:
Код:
    // 0x07       
    public void LS_PlayOk(byte[] buff, int len){
        if (len < 11){
            return;
        }
        System.arraycopy(buff, 3, SK2_1, 0, 4);
        System.arraycopy(buff, 7, SK2_2, 0, 4);
        System.out.println("Авторизация на логин-сервере прошла успешно");
    }

Последний раз редактировалось Tin-moon, 22.02.2012 в 12:28. Причина: Добавлено сообщение
Tin-moon вне форума   Ответить с цитированием
Старый 22.02.2012, 20:16   #122
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

Код:
BYTE LSLogin(BYTE *buf, DWORD size, DWORD *SessionKey1, DWORD *SessionKey2, BLOWFISH_CTX *BlowFish)
{
	if (size >= 10)
	{
		memcpy(SessionKey1, buf+3, sizeof(DWORD));
		memcpy(SessionKey2, buf+7, sizeof(DWORD));
	}
	return buf[2];
}

BYTE LSPlay(BYTE *buf, DWORD size, DWORD *SessionKey3, DWORD *SessionKey4, BLOWFISH_CTX *BlowFish)
{
	if (size >= 10)
	{
		memcpy(SessionKey3, buf+3, sizeof(DWORD));
		memcpy(SessionKey4, buf+7, sizeof(DWORD));
	}
	return buf[2];
}
У меня так. А отправляется потом на ГС в таком порядке 4 3 1 2 (видно из предыдущих исходников)

---

wcslen - кол-во символов в юникод строке
wcslen*2+2 - длина строки в байтах
+1 - это смещение (ИД)

Последний раз редактировалось Demion, 22.02.2012 в 20:20.
Demion вне форума   Ответить с цитированием
Старый 23.02.2012, 12:17   #123
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Поставил отпечатку на сервере. Итог, данные которые отправляет читаю верно (сесионные ключи, пакет KeyPacket - 8 байт ключа). Отправляю данные на сервер после хор, он их пытается читать но .... Видимо все -таки неправильно отправляю.
Вот код:
Код:
        byte[] temp = HelpFunctions.FillZero(100);
        byte[] login = HelpFunctions.StringToWideString(gs.getData().getLOGIN());
        int len = login.length;
        
        temp[0] = 0x2b;
        System.arraycopy(login, 0, temp, 1, len);
               
        System.arraycopy(gs.getData().getSessionKey2_1b(), 0, temp, len, 4);
        System.arraycopy(gs.getData().getSessionKey2_2b(), 0, temp, len, 4);
        System.arraycopy(gs.getData().getSessionKey1_1b(), 0, temp, len, 4);
        System.arraycopy(gs.getData().getSessionKey1_2b(), 0, temp, len, 4);
        
        // блок 01 00 00 00
        temp[len+17] = 1;
        
        int to_copy = len+con.length;
        
        byte[] send = HelpFunctions.FillZero(to_copy);
        System.arraycopy(temp, 0, send, 0, to_copy);
        gs.SendPKT(send, 1);

Последний раз редактировалось Tin-moon, 28.02.2012 в 01:52.
Tin-moon вне форума   Ответить с цитированием
Старый 23.02.2012, 19:55   #124
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

System.arraycopy(login, 0, temp, 1, len);

у тебя копирует с нуль символом? Если это string, то, на сколько я помню, оно возвращает кол-во символов. А юникод строка занимает по 2 байта на символ + 2 байта на нуль символ.

---

Не углядел, что там масив, а не стринг. Тогда скорее всего проблема в шифровке. Позже посмотрю твой код

Последний раз редактировалось Demion, 23.02.2012 в 20:02.
Demion вне форума   Ответить с цитированием
Старый 24.02.2012, 12:36   #125
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Цитата:
Сообщение от ErgoZ Посмотреть сообщение
в моём случае это не прокатит Я пишу под андроид))) немного забросил проект так как на мед обследовании, позже вернусь к проекту прошёл первый пакет)) дальше на этапе отправки 1 пакета от клиента серверу остановился)))
Как продвижение??

Последний раз редактировалось Tin-moon, 28.02.2012 в 01:53.
Tin-moon вне форума   Ответить с цитированием
Старый 24.02.2012, 22:57   #126
Пользователь
 
Регистрация: 29.01.2012
Адрес: г. Минск
Сообщений: 64
Сказал Спасибо: 10
Имеет 5 спасибок в 5 сообщенях
Tin-moon пока неопределено
По умолчанию

Вот лог игрового сервера при подключении к нему с моего клиента:

Добавлено через 1 час 9 минут
Нашел совершенно случайно причину. Продолжаю дальше. Спасибо всем кто откликнулся на предыдущие вопросы. Возможно будут новые

Последний раз редактировалось Tin-moon, 28.02.2012 в 01:53.
Tin-moon вне форума   Ответить с цитированием
Старый 25.02.2012, 00:11   #127
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

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

Дописал. Чат работает. Остались мелочи...

Заметил что есть проблемы с кодировкой при чтении. Неправильная интерпретация некоторых символов. немогу подобрать кодировку. Что за она?

Добавлено через 6 часов 6 минут
Поискал ошибку, оказалась что проблема не в кодировке. Почему-то портятся некоторые байты.. Предположение на ХОР.

Это получаю в l2ph
Код:
4A E1 07 01 10 00 00 00 00 
50 00 50 00 5A 00 00 00
FF FF FF FF 
3F 04 40 04 38 04 32 04 35 04 42 04 00 00
Это получаю в своим
Код:
4a e1 07 01 10 00 00 00 34 
57 00 50 00 5a 00 00 00 
ff ff ff ff 
3f 04 40 30 3f 04 32 04 35 04 42 04 00 00
Что это может быть?

Добавлено через 47 минут

Кто може подсказать? После отправки пакета CharSelected приходят 2 пакета от гейм сервера. И после отправляем 2 пакета от клиента. Так вот у меня почему-то после CharSelected приходит только 1 пакет.. и на этом висит, если не отправить следующие 2 ничего не будет.
Таже история и после 2 пакетов Request.....
Я вот думаю, что возможно поэтому возникает проблема с чатом.

Последний раз редактировалось Tin-moon, 25.02.2012 в 23:54. Причина: Добавлено сообщение
Tin-moon вне форума   Ответить с цитированием
Старый 26.02.2012, 00:04   #129
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Tin-moon, обнови пакетхак, будет показывать названия пакетов.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


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

Цитата:
Сообщение от NLObP Посмотреть сообщение
Tin-moon, обнови пакетхак, будет показывать названия пакетов.
Названия не так важно ), а где обновить? Это - l2phx.3.5.34.175. Все нашел обновил.


Ого тут совсем другие данные. NLObP спасибо.

Последний раз редактировалось Tin-moon, 26.02.2012 в 00:13.
Tin-moon вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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