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

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

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

Цитата:
Сообщение от Demion Посмотреть сообщение
На каком пакете проблема?
RequestAuthLogin() на гейм сервер
Tin-moon вне форума   Ответить с цитированием
Старый 21.02.2012, 22:59   #2
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

Если сервер ничего не отвечает, скорее всего на правильно шифруешь пакет. Вот часть исходников моего старого бота, может поможет.
Оффтоп
Demion вне форума   Ответить с цитированием
Старый 21.02.2012, 23:20   #3
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

Честно говоря, не помню. Судя по всему это какие-то константные данные. В любом случае бот работал на офф сервере. Сравни с тем, что шлет твой клиент.

Последний раз редактировалось Demion, 21.02.2012 в 23:24.
Demion вне форума   Ответить с цитированием
Старый 22.02.2012, 11:45   #4
Пользователь
 
Регистрация: 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   #5
Пользователь
 
Регистрация: 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   #6
Пользователь
 
Регистрация: 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   #7
Пользователь
 
Регистрация: 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 вне форума   Ответить с цитированием
Старый 25.02.2012, 00:11   #8
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

Обычно принято писать решение ошибки, может кому то пригодится
Demion вне форума   Ответить с цитированием
Старый 25.02.2012, 23:53   #9
Пользователь
 
Регистрация: 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   #10
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

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


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Ответ

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



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

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


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

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

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