1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. Andrea
  2. Andrea
  3. Andrea
  4. Andrea
  5. Andrea
  6. Andrea
  7. Andrea
    Юзай гугл.. всю необходимую инфу я дал. #summary Basic functionality of login procedure = Introduction = Before communicating with the client, the server has to authenticate the client and prepare the encryption and compression. The Login until world works as followed: ||packetid||meaning||direction||encrypted||compressed|| ||01||login challenge||s2c||n||n|| ||03||login attempt||c2s||n||n|| ||02||login ok, masterkey c2s||s2c||n||n|| ||05||login fail, reason||s2c||n||n|| ||02||login ok reply, masterkey s2c||c2s||y||n|| ||04||login complete,accid,zoneid||s2c||y||y|| ||all following s2c are compressed&enc, c2s come enc only|| ||52||get charinfo||c2s|| ||53||char data OR no more chars||s2c|| from there the possibilites split widely (char creation,char deletion,enter world) = 1. Ping/Welcome Packet = This is the first packet which the server instantly sends when it got a connection from a client. It contains a seed for the cryptography, the actual server version and population and a hash which is checked by client for correctness. It is also used to determine the ping for the serverlist in the client. sample: `0132106800004800000000E299D7B66FA81CFD00010403001A333030303030333435393464363735636562346366396663353614` let's dissect this packet into its parts: {{width="100%"}} ||offset||type||name||sample reference|| ||0||byte||packet id||01|| ||1||byte||packet length||32|| ||2||byte||key length||10|| ||3||byte`[`keylength`]`||key||6800004800000000E299D7B66FA81CFD|| ||_3_||_byte_||_server load_||_68_|| ||_6_||_byte_||_event info_||_48_|| ||19||byte`[`4`]`||version||00010403|| ||23||byte||login_encoding||00|| ||24||byte||hashlength||1A|| ||25||byte`[`26`]`||somehash||1A333030303030333435393464363735636562346366396663353614|| ||51||byte||zoneid||14|| =Explanation= *ID* * should be obvious *packetlength* * length of the packet total in bytes *keylength* * length of the key *key* * the key used as base for encryption stuff, like hmacmd5 * it contains some additional info that is used by the client in the server overview *_server load_* * a byte value which tells the server load, will display as medium,high etc in client depending on value *_event info_* * _encoded as an OR combination of 0x40 and the event keys, it will produce event display in the server overview_ * _*keys:* 1=Exp, 2=Gold, 4=Items, 8=Spirit, all used together would produce "Double"_ *version* * this field consists of a short (main version), a byte (sub version), a byte (sub-sub version) like they are encoded in the client executable * in our case it's 1.4.3 (genesis) *login encoding* * the login procedure can be in HMAC_MD5(00) or SHA256(01) ~~or maybe other ones~~ checked in disassembly, currently we (and all other servers) use HMAC_MD5 *hash lenght* * the length of the following hash value in bytes *somehash* * some hashed value that checked by the client with his own key that is stored hard coded, stored as *UTF8 string* *zone id* * The server tells the client its own zoneid, maybe to disconnect on mismatch. * Zoneid can be found in the serverlist.txt of the client * _*NOTE: Since 1.4.3 the serverlist.txt is found in patcher\server\serverlist.txtserverlist.txt*_ хм форум Анжелики в гугле я не нашел... ссорь все нашел =)
    Сообщение от: Andrea, 30 мар 2011 в разделе: Архив
  8. Andrea
  9. Andrea
  10. Andrea
  11. Andrea
  12. Andrea
  13. Andrea
  14. Andrea
  15. Andrea
  16. Andrea
  17. Andrea
  18. Andrea
    прикрутить рыбок можешь?)
    Сообщение от: Andrea, 29 мар 2011 в разделе: Архив
  19. Andrea
  20. Andrea