[HELP] Proxy Coding

03/26/2012 15:14 rowni18#1
Im creating a proxy program for Silkroad, similar to nuConnector, phConnector, ,etc.

My proxy works but after login the client transfers into another IP address. For example, for SRO-R: from 31.193.168.141:15779 to 31.193.168.96:15779 or 31.193.168.9X:15779.

Does the server sends the IP to where the client reconnects?

Well, before I got DC, I captured two packets: one is [C->S] and the other is [S->C] which contains 1680xxxx at the start. I think this is an encrypted packet. How can I decrypt it? How can i tell the client to reconnect to LocalHost::15779 instead of 31.193.168.xx:15779?

Thanks
03/26/2012 15:48 bootdisk#2
After you hit login, you will receive the real game server ip.
You just have to use pushedx's handshake api.

It's all described on pushedx's tutorials/sources.
03/26/2012 16:13 rowni18#3
Thanks. But I can't find any links though.

Well i only found pushedx's C# Security api. Is this the right one?
03/26/2012 18:43 vorosmihaly#4
yeah,that's the right one :)
03/27/2012 06:29 rowni18#5
I understand the type of encryption it uses but I'm having some problem how did the code generated the "specific key" for encryption used by the the public void Initialize(byte[] key_ptr) function.

I already tried the encryption in my code with some "testing key" to test if it really works, and it actually works for encrypt and decrypt.

What I only need to know is the key generator code and i cant find it in the api. I can't just copy and paste the code coz I'm programming in another language.

Thanks.
03/27/2012 18:45 pushedx#6
Quote:
Originally Posted by rowni18 View Post
I understand the type of encryption it uses but I'm having some problem how did the code generated the "specific key" for encryption used by the the public void Initialize(byte[] key_ptr) function.
Search "Security.cs" for all instances of "m_blowfish.Initialize". Depending on the type of security, there are multiple keys used during the process of setting up the security for Silkroad packets. The bulk of the logic will be in the Handshake function. That's the main logic you have to port to whatever language you are using to get a Silkroad security compatible with Joymax's.

To understand the actual process as a whole, check out: [Only registered and activated users can see links. Click Here To Register...]. That guide is old and has some errors in it, but the main concepts are there.
03/30/2012 06:43 rowni18#7
Thanks.