Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Programming
You last visited: Today at 04:24

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[FAQ] Proxies, packets and bots ooh my!

Discussion on [FAQ] Proxies, packets and bots ooh my! within the CO2 Programming forum part of the Conquer Online 2 category.

Reply
 
Old 08/04/2010, 02:45   #16
 
creeping's Avatar
 
elite*gold: 0
Join Date: Sep 2006
Posts: 55
Received Thanks: 6
Thanks

excellent guide thank you so very much... makes things clearer for us nub coders out there..
creeping is offline  
Thanks
1 User
Old 08/05/2010, 00:49   #17
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
Just a minor heads up for those working on proxies or attempting to use the 5200'ish proxy by tannel. Auth packet has been changed in a recent patch (post 5250 it seems because I had to change it just now when I tried with 5291)

@ openssl. Very good thing to point out. I just assumed most people would know to include it in their project thanks to coemu. I guess that's what I get for being so addicted to that source for too long lol.
pro4never is offline  
Thanks
2 Users
Old 08/09/2010, 13:30   #18
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,765
Received Thanks: 382
This is a really good job pro.
Always impressed over ur posts/threads.
Fish* is offline  
Old 08/19/2010, 07:09   #19
 
elite*gold: 80
Join Date: Sep 2007
Posts: 642
Received Thanks: 168
Alright, I have decided to just create my own proxy and elaborate on it as i get time, I just had a few basic questions(fairly sure I'm correct).

Question one:
You start the Authorizing Server and the Game server at the same time just on different ports?

Question Two:
Do you also start the Proxy-Server Auth/Game 'clients' at the same time along with Servers?

Question Three:
Do I just send the data through at first then implement Blowfish after i get the basic connections?

Final Question:
Any of you have any basic tips that I should take note of or is this as simple at it sounds? By that I mean just connections and encryptions.
Santa is offline  
Old 08/19/2010, 10:37   #20
 
elite*gold: 0
Join Date: Jun 2006
Posts: 85
Received Thanks: 8
Question 1:
It really does not matter when you start them. Although most people will probably start the game server after receiving the authentication response.

Question 2:
Okay, I'll just let you know what I did. First, my proxy opens a listening port (acting as the authentication server) and waits for the client to connect. When it receives a connection from the client, it connects to TQ's authentication server and receives/sends information. When the proxy receives the 'authentication response' packet, my proxy relays it to the client (so the client knows how to connect to the game server) and then it closes the connection to TQ's authentication server and the client.
My proxy then creates a listening socket (acting as the game server) and waits for the client to connect. When it does, it tries to connect to TQ's game server.

Question 3:
There are two different encryptions:
- One for the authentication routine
- One for the game server

The authentication encryption is used until you receive the "authentication response" (which is the last packet using this encryption). Then you start using Blowfish.

EDIT:
For question 1, if you mean "connect" then you connect to the authentication server first, then the game server.
fm_sparkart is offline  
Old 08/19/2010, 15:19   #21
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
Quote:
Originally Posted by StarBucks View Post
Alright, I have decided to just create my own proxy and elaborate on it as i get time, I just had a few basic questions(fairly sure I'm correct).

Question one:
You start the Authorizing Server and the Game server at the same time just on different ports?

No: Don't connect to game server until auth response packet is received (it contains the info for connecting to the game server such as port/ip)

Question Two:
Do you also start the Proxy-Server Auth/Game 'clients' at the same time along with Servers?
No: On client connection only

Question Three:
Do I just send the data through at first then implement Blowfish after i get the basic connections?
[color=red]You implement blowfish as the required packets are being sent. That's the only time you can set it up.

Final Question:
Any of you have any basic tips that I should take note of or is this as simple at it sounds? By that I mean just connections and encryptions.
Simple... just a matter of getting it all woring


Kk so sequence of events is.


Proxy creates "auth listener" and "game listener". This listens for connections to the login server port and game server port. When the client connects to this, the proxy then should connect to the tq auth server. As soon as you connect you will receive the password seed packet (you can use it to read the password or just forward it). Client then sends the login request and then receives the auth response (if it's a valid login then this packet contains the game server ip/port and such) You edit the auth response packet to connect to proxy rather than the official servers by changing the ip.

The client will now connect to the game server port. This is when you start implementing blowfish cryption (by blocking and creating fake client/server key packets and setting up a encryption for client and a different one for server (man in the middle attack).


Once this is done you can read/modify and do whatever you want with packets.
pro4never is offline  
Thanks
1 User
Old 08/19/2010, 17:45   #22
 
elite*gold: 0
Join Date: Jun 2006
Posts: 85
Received Thanks: 8
I have a question regarding the DH key exchange.

Are the sizes of P, G, and the public keys dynamic or fixed? The reason I ask is because apparently the packet structure includes a length values for each of those keys, although the sizes have always been the same for me: 128, 2, 128 respectively.

Actually just checked again and even the keys are fixed: 32528, 13616, 6256

Or am I reading it wrong?
fm_sparkart is offline  
Old 08/20/2010, 02:47   #23
 
elite*gold: 0
Join Date: Aug 2007
Posts: 49
Received Thanks: 12
The sizes are almost always the same - the values change roughly every maintenance.
flowerpot! is offline  
Thanks
1 User
Old 08/20/2010, 09:44   #24
 
elite*gold: 80
Join Date: Sep 2007
Posts: 642
Received Thanks: 168
Alright, made a little bit of progress(sadly school started), but this is what i got so far.



I'm a little confused on when the AuthClient receives why it doesn't has the AuthServer.Send function like AuthClient.Send.

Doesn't Sender.Send do the same thing as AuthServer.Send?
Santa is offline  
Thanks
1 User
Old 08/20/2010, 18:24   #25
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
Yahhh... i never really used hybrids socket system from that tutorial from that demo mostly cause it's missing a few things that you may need *cough* .


Maybe i haven't looked at it enough but i remember having some problems with sending a packet whenever i wanted to the client w/o having it first connect or send something. Again, barely used it though.

I'd suggest for your 'test' proxy to use simple ol' sync sockets so you can get a feel for how things need to work. Worry about using a more advanced system later on.
pro4never is offline  
Thanks
1 User
Old 08/20/2010, 18:48   #26
 
elite*gold: 80
Join Date: Sep 2007
Posts: 642
Received Thanks: 168
Quote:
Originally Posted by pro4never View Post
Yahhh... i never really used hybrids socket system from that tutorial from that demo mostly cause it's missing a few things that you may need *cough* .


Maybe i haven't looked at it enough but i remember having some problems with sending a packet whenever i wanted to the client w/o having it first connect or send something. Again, barely used it though.

I'd suggest for your 'test' proxy to use simple ol' sync sockets so you can get a feel for how things need to work. Worry about using a more advanced system later on.
I decided to go with the Async socket for the Server and hybrids socket system for the connection to the server, i can't seem to get it to send the data from the proxy to the client. AuthServ.Send(Arg);? Everytime i try, it says I'm not connected on that socket.
Santa is offline  
Old 08/21/2010, 06:13   #27
 
elite*gold: 0
Join Date: Jun 2006
Posts: 85
Received Thanks: 8
Quote:
Originally Posted by StarBucks View Post
i can't seem to get it to send the data from the proxy to the client. AuthServ.Send(Arg);? Everytime i try, it says I'm not connected on that socket.
And you're positive you've established a connection (most unlikely)?
fm_sparkart is offline  
Old 08/21/2010, 18:15   #28
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
On authserver connect you should be connecting to authcllient... i doubt. Enable is actually connecting(you don't connect till client connects to proxy, aka on the connection code)
pro4never is offline  
Thanks
1 User
Old 08/22/2010, 20:01   #29
 
gabrola's Avatar
 
elite*gold: 0
Join Date: Dec 2006
Posts: 1,039
Received Thanks: 1,335
Quote:
Originally Posted by StarBucks View Post
Alright, made a little bit of progress(sadly school started), but this is what i got so far.



I'm a little confused on when the AuthClient receives why it doesn't has the AuthServer.Send function like AuthClient.Send.

Doesn't Sender.Send do the same thing as AuthServer.Send?
Move
AuthClient.Enable("209.172.33.201", 9957, ClientRecvBuffer);
to your AuthServer_OnClientConnect method, you shouldn't establish the connection until a client connects to your socket first.
AuthServer doesn't have a Send function because it's a listening port. Which could have more than just one connection to it, how would you send a packet to a client when there are two clients connect using just a Send? Which why you instead send the packet to the CustomWinsockClient instance which represents a single connection on your socket, I believe that is the "Sender" parameter in all three events for your AuthServer instance.
So what you need to do is, under public WinsockClient AuthClient;
you need to add, a public CustomWinsockClient ConnectedClient;
Then in your AuthServer_OnClientConnect method add ConnectedClient = Sender;
Now in your AuthClient_OnReceive method replace Sender.Send(Arg) with ConnectedClient.Send(Arg);
And i guess that should fix everything.
gabrola is offline  
Old 08/28/2010, 07:47   #30
 
elite*gold: 0
Join Date: Jun 2009
Posts: 787
Received Thanks: 314
The reason why you can't AuthServer.Send is because you're not connected on that socket.

Server sockets aren't connected to another, they're bound to a port and listening/accepting new connections. The socket methods take a general "socket" parameter and therefore you can pass a server socket/client socket, but in this case only a client socket will work (one you have made yourself & connect()'d or one you have gotten from accept()).
_tao4229_ is offline  
Reply


Similar Threads Similar Threads
I need IPs and proxies
02/25/2010 - Conquer Online 2 - 16 Replies
Hello :) I hope to get help here. I am living in a hostel now because I moved from my hometown to study. And I have to use hostel's internet, where proxy is needed. Some websites and all the mmorpg games are banned here, but if you ask the administrator - he unblocks the game. But I have to give him IP addresses and proxies of CO. I tried to find it myself, found few, but I think, not every, because I can't still turn on the client (I'm not even talking about logging in). Can anyone...
Co proxies
01/12/2006 - Conquer Online 2 - 2 Replies
I have read many of topic about these hacks but... :ops: I didn't understand what they can really do exept jump anywhere, up/repair stuff from anywhere... Could some some list me best things every one could make ? :bandit: For example, what this one doing ? http://www.elitepvpers.com/forum/index.php?...& f=85&t=4579&s= i won't try them 1 by 1... :? edit : oops could u move it to main ? :rolleyes:



All times are GMT +2. The time now is 04:24.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.