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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 22.02.2012, 20:16   #1
Пользователь
 
Регистрация: 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   #2
Пользователь
 
Регистрация: 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 вне форума   Ответить с цитированием
Ответ

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



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

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


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

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