у меня примерно из этой же оперы вопрос:
init по версии 785a должен содержать 11 байт.
например:
Сервер, Length: 11 (0x0B)
-------------------------------------------------------
0x0000| 0B 00 00 9C 77 ED 03
5A 78 00 00
-------------------------------------------------------
вроде все верно. но вот что меня заинтересовало: в одном из серверов я увидел это:
Сервер, Length: 155 (0x9B)
*-------------------------------------------------------*
0x0000| 9B 00 00 FD 8A 22 00
5A 78 00 00 E5 FB 6D E3 DE
0x0010| D5 FC 45 42 B8 84 01 26 73 C3 FF BD 0B 32 FA B6
0x0020| F9 CA 0E 48 0F 94 7A CC C1 AF FE B5 76 5C B0 9D
0x0030| 6E 5A 73 EE 77 12 67 47 1C 78 D2 9B 22 D1 38 90
0x0040| 60 82 53 14 1C B2 04 D6 75 29 47 08 56 8C 81 63
0x0050| 14 93 B1 47 2C B8 F9 23 DB 09 8C 87 56 36 02 92
0x0060| BA 25 57 51 9E 33 8D 40 6E E0 3D A7 CA 9A 69 D6
0x0070| 07 AE 60 25 5C 47 C8 55 5A 07 83 E5 B8 0B 85 FF
0x0080| 62 66 07 B9 D4 E4 D3 65 DD 3C F4 00 00 00 00 00
0x0090| 00 00 00 00 00 00 00 00 00 00 00
155 байт. Третьи хроники.
Почему так ?
Добавлено через 20 минут
согласно вот этому:
Код:
procedure LS_init(buff: array of byte; Len: integer);
begin
ToLog('********* LS_init ************');
ToLog('');
if Len<8 then exit;
Move(buff[3],SessionID,4);
if Len>=155 then begin
SetLength(RSA_key,128);
Move(buff[11],RSA_key[1],128);
ToLog('RSA Key changed :');
end;
if Len>=171 then begin
SetLength(bf_key,16);
Move(buff[155],bf_key[1],16);
bf.Init(bf_key);
ToLog('BlowFish key changed');
end;
//sending AuthGG packet
AuthGameGuard;
end;
в 785a возможно RSA шифрование логина и пароля.