jhribal / L2P

l2 interlude server
0 stars 0 forks source link

How compile? #1

Open andreyddk opened 10 years ago

Krab01 commented 10 years ago

I am not maintaining it anymore. It ends as fast as it starts :). Maybe i will work on it later, but now i don't have time for it. It has dependecies on OpenSSL (https://www.openssl.org/) and libuv (https://github.com/joyent/libuv). OpenSSL is well known crypt library and libuv is implementation of asynchronnous I/O used in node.js. So you need just openssl and libuv to compile it. As a good source of how the l2 server works, you should use l2 java server implementation. If you need to do something similiar (custom bot, own server, etc..), i will give you some advice about how l2 login protocol works. First packet from the server is encrypted via blowfish key, which is saved in client. In that packet are information about new blowfish key, which will be used in next communication on login server (so each new packet will be encrypted with that new blowfish key, not with that saved inside client). In that packet is even RSA key, which you must use to encrypt the login and the password when you are loging in. That RSA key is scrambled (eg. it has swaped some bytes etc., so it can't be used as it is, but need to be unscrambled first). Each packet has always appended checksum, which is just some number calculated from data sending by the server, so you can easily check if received data are corrupted or not. You must too calculate this checksum and append it to the packet, when you are sending something to the server. Next, the packet is even encoded with something called xor pass.

You can find all in l2j project, but as java code, not writed in human language.

andreyddk commented 10 years ago

You can say me your skype?

jhribal commented 10 years ago

I don't have. Give me email if you want and i will send you my fb.

andreyddk commented 10 years ago

biosekta@yandex.ru