Показать сообщение отдельно
Старый 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 вне форума   Ответить с цитированием