Код:
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 - это смещение (ИД)