Register for your free account! | Forgot your password?

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

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

Advertisement



[Question] Making a proxy bot with AutoIt

Discussion on [Question] Making a proxy bot with AutoIt within the CO2 Programming forum part of the Conquer Online 2 category.

Reply
 
Old 04/21/2012, 02:12   #16

 
Kiyono's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 925
Quote:
Originally Posted by InfamousNoone View Post
Uhm, I thought it was released just by the sheer amount of people I can think of at the top of my head who have it... Maybe not?
I don't see thousands of topics asking about how to implement it so I guess it's still un-released.
Kiyono is offline  
Old 04/21/2012, 05:31   #17


 
CptSky's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 1,444
Received Thanks: 1,176
Quote:
Originally Posted by KraHen View Post
Why does everyone here degrade Java? It`s a well established platform, which has it`s own uses, it`s just a tool... [...]
Java is kind of outdated... It would require a lot of update to be as good and complete... I have to use it for school, but I often find it outdated and limitating due to the lack of some features and also the lack of pointer... The Ğunsafeğ code in C# is really useful. But eh, just using managed things in C# will be better than in Java... The .net framework is way more complete than the JDK, and Oracle doesn't seem to care a lot... On the other hand, Microsoft seems to put a lot in the development of the .net languages and all derived products.

Quote:
Originally Posted by pro4never View Post
[...]As for developing a proxy for conquer... the encryption changes are still not public (or did the dhkeyexchange info finally get released? your posts confused me inf, I was under the impression no info on it had been posted). [...]
I never saw any topic explaining the new exchange. I know that some people talked a bit about a change in the exchange. Nothing more. So, nothing is public related to the lastest changes.

Quote:
Originally Posted by InfamousNoone View Post
I stuck with C# over a native language because it's primarily easier to debug. No matter how badly you screw up (assuming you keep all code managed) you'll always get a nice exception providing even the line number so long as you distribute/debug with the *.pdb generated. [...]
Depends of the project, but that's a fact... C# is really easy to debug. Plus, as a managed language with a complete framework, it offers a fast development. Also, there is a good support of unmanaged concepts.

But, for long term projects and also for multi-platform projects, I tend to use C++ (sometimes C) as I consider Mono not being super.
CptSky is offline  
Old 04/21/2012, 05:35   #18
 
InfamousNoone's Avatar
 
elite*gold: 20
Join Date: Jan 2008
Posts: 2,012
Received Thanks: 2,885
Quote:
Originally Posted by CptSky View Post
Java is kind of outdated... It would require a lot of update to be as good and complete... I have to use it for school, but I often find it outdated and limitating due to the lack of some features and also the lack of pointer... The Ğunsafeğ code in C# is really useful. But eh, just using managed things in C# will be better than in Java... The .net framework is way more complete than the JDK, and Oracle doesn't seem to care a lot... On the other hand, Microsoft seems to put a lot in the development of the .net languages and all derived products.



I never saw any topic explaining the new exchange. I know that some people talked a bit about a change in the exchange. Nothing more. So, nothing is public related to the lastest changes.



Depends of the project, but that's a fact... C# is really easy to debug. Plus, as a managed language with a complete framework, it offers a fast development. Also, there is a good support of unmanaged concepts.

But, for long term projects and also for multi-platform projects, I tend to use C++ (sometimes C) as I consider Mono not being super.
Mono is over powered. All the ConquerAI servers use linux.
InfamousNoone is offline  
Old 04/21/2012, 05:41   #19


 
CptSky's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 1,444
Received Thanks: 1,176
Quote:
Originally Posted by InfamousNoone View Post
Mono is over powered. All the ConquerAI servers use linux.
I should take a look. I tested it on OS X long time ago... Actually, the Win Forms weren't implemented yet. It can give an idea. But if they have released MonoTouch, I imagine that it way more advanced than before

With that said, I will probably reconsider my opinion of Mono soon...
CptSky is offline  
Old 04/21/2012, 17:57   #20
 
elite*gold: 0
Join Date: Dec 2011
Posts: 1,537
Received Thanks: 785
Java is gay. .NET is gay. Everyone is gay.
Quit already.

Every language has their positive and negative sides and no language is better than others. They all have areas which they're better in.
I don't have a username is offline  
Old 04/21/2012, 18:59   #21
 
elite*gold: 0
Join Date: Jul 2011
Posts: 82
Received Thanks: 12
Quote:
Originally Posted by tkblackbelt View Post
Have a look at these guys channels on YouTube he has some stuff that may interest you
I will take a look!

@others
I note what you say about Java and other languages...

Thanks!
itachi26 is offline  
Old 04/21/2012, 20:45   #22
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
Quote:
Originally Posted by itachi26 View Post
Hey pro4never, I'm glad you answered me.

First of all, I think that (because lots of pservers, proxies and other hacks are made in C#) I'll learn from the starting what I started to learn about C# 'cuz I really need to have basic knowledge to achieve my project. Also, you just talked about changing adresses and I thougt also that it would be easier than proxy, but I can't even understand why I can have the same result with that two differents ways.

Proxy : Client is connected on your programm which is connected to conquer server. It modifies/blocks/sends packets to the server, it has an effect on your character and this is logical.

But what about memory adresses? If you can summarize how it works because I don't know anything about this way, at least on online games.

Thanks a lot for you help!
*cough* I'll just leave this here....




annnnddd this




Short answer: Hook based bots attach themselves to the conquer process and trigger the internal processes of the client... in this case the send/receive functions. This allows you to completely skip the encryption the client uses and directly interact with the client (also allows to trigger other client functions such as displaying the jump animation, something which normal proxies can not display because it's client side)
pro4never is offline  
Thanks
1 User
Old 04/22/2012, 01:51   #23
 
elite*gold: 0
Join Date: Jul 2011
Posts: 82
Received Thanks: 12
Hey,

yeah I've just read again your post about proxies and memory based bots. But I've got two questions.

1) How can I focus on these 2 functions (sending/receiving packets)?
2) How can you run your bot with two or more clients ?

In the idea, proxy looks very easier to do than this bot, and (maybe) because I can't understand how it really works, my questions may look a bit stupid.

By the way, thanks all for your advises!
itachi26 is offline  
Old 04/22/2012, 09:13   #24
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
I can't be of much help as I'm useless when it comes to reverse engineering or oly in general.

That being said, the framework I posted works very well. You can attach to as many processes as you want. I wrote a simple bot framework with it once before and it worked just fine. That being said I've never learned to use Oly so when addresses change I'm of no use finding the updated ones.

Honestly using a hook based bot is the easiest solution. Proxies require encryption and both incoming and outgoing socket connections before you can ever begin to worry about what your bot will be trying to do.

Hook based bots, you hook into two functions, confirm the hook worked and can now write your bot.
pro4never is offline  
Old 04/22/2012, 12:44   #25
 
elite*gold: 0
Join Date: Jul 2011
Posts: 82
Received Thanks: 12
Okay. Anyway, I think that asking basic questions is useless until I learned how to code with C#. When I'll be able to make my own real programms, then I will take a look on the IAmHawtness functions. But I worry about the difficulty of that bot because who says Oly says ASM and it will be sooooo hard. I hope I will find some tutos about that subject.

By the way, thanks everybody for your remarks and advises. Hope you will be there when I'll start my project!
itachi26 is offline  
Old 04/23/2012, 06:04   #26
 
elite*gold: 0
Join Date: Jun 2006
Posts: 457
Received Thanks: 67
you don't need asm knowledge for now. Any information that can only be acquired through reverse engineering, you will get them on this forum

Do not rush into proxy building as there are alot of things to learn. At the end of the day, knowing how things works is far more beneficial than simply getting something to work.
shitboi is offline  
Old 04/23/2012, 17:37   #27
 
elite*gold: 0
Join Date: Jul 2011
Posts: 82
Received Thanks: 12
Thanks for your advise.

I learn C# now and I will up that topic when I'll be able to make some great things.

But if some people want to give me some advises or just write some remarks, just write it, I'll be glad to read you!

Thanks for all!
itachi26 is offline  
Old 07/21/2012, 01:47   #28
 
elite*gold: 0
Join Date: Jul 2011
Posts: 82
Received Thanks: 12
UP!

Hey, I'm back. Well, I know someone who will bite me but I have good news (in my opninion). As you know, I started to learn how to code in C#, I'm in progress so I can't start such a brilliant thing on making any bot BUT, I keep coding in AutoIt and, I wanted to test something. Trying to receive packets from any game client and guess what... IT WORKED!

Okay well, this is not awesome maybe, but I was thinking... I tested my code on a out-dated client (5165), and I received a packet from it.

Code:
0x159456659772A5B599F933A514CB756F5F89B0229346F6E3D6003EA217C4786C5682BF2B9243F5E0D90535AB16C17F6D5987BA209D4CF8E1D00E30A011C272625088B1299C49FFE6DB033FA910CF71635B8DBC269F4AF2E7D2043AA613C874605286BB2F9E47F1E4D50931AF12C57B61558BB6249940F4E5DC023CA41DC67E665C8CBD2DCB9C7B22AD3B598BCCA9FDB368F7061D9B4EFEEBDE0836AA1FCC70645E8AB7239A4BFDE8D10D3DA31EC97765518FB2289544F0E9D80638A819CA7A6A5880B9219441F7EED30B37A118C7796B5385B42E9742FAEFDA0C32AE1BC07C685A8EB327964FF9ECDD0139A71ACD73695D83BE2C9148FCEDD40A34AC15CE766E865667F7778166672A3BB777C619A7BD8D5B62F0
This is ugly, horrible whatever you want but for me it's a start and that means "you will be able to do something" but here is my problem.... WHAT DOES THAT MEAN? I truly think that it is the encryption key's job, and now I need some help.

First of all, how can I have my encryption key, I've got the source associated to the client (to make a private server wich works)? Then, how can I use it with AutoIt (if you don't have codes, just some advices or infos on what is that encryption key or anything else which can help me a little bit) and finally, what will I have when the packet will get modified by the key?

Hope you will be able to help me! Thanks in advance!

PS : I tried to send an answer to the client and he crashed or exited itself, surely because my packet was wrong.

Here's my code :


EDIT : Baxk again. Well, I'm getting some problems while coding my proxy. Here's how I manage to get work everything.

My proxy is listenning on my Hamachi adress, port 9957.
My server is setting-up on my Hamachi adress, port 9958
The client connects through my Hamachi adress, port 9957.

I lunch the client and put my username/pass, my proxy receives the packet and connect to the server, the server accepts the connexion, my proxy send its packet to the server. Then, the server answers, sends to my proxy its packet, my proxy gives to the client the datas. The client creates maps and finally, my character is on but... I don't receive packets anymore. Moreover, the console says I'm still online.

Any ideas? By the way, I'll try to fix it, I'm glad at the moment to receive something and trying to manage with haha!

EDIT 2 : Oh my gosh... It looks like the client doesn't need my proxy seriously. I can receive packet from the client, the server listenning on 9958 and the client connects to 9957, and when I switch-off my proxy, the client keeps working properly... Haha!

EDIT 3 : My bad, by sniffing packets, I realized that two more ports come-in. I'm gonna update my code and will see what's gonna happen.

If someone can think about my question on the encryption and AutoIt, it will be super cool! Thanks!

EDIT 4 : Alright! So, I worked harder and harder and here is where I am at the moment. My code is able to receive two connexions on the client : login/game sockets and two connexions on the server : login/game. I can play, hit, talk, wear buy well, everything without getting dced which that good in my opinion. My problem, can't do anything with those packets at the moment, also, it lags a little bit, Ithink that it's just my code who's note very optimized and because I'm using AutoIt and that is a very slow language.

Now, I need your help about the encryption part. I really don't know how does it work then, I need some advises and some explanations about it. I think I found everything in the server's source but it looks very hard to understand.

Thanks in advance!
itachi26 is offline  
Old 07/22/2012, 02:12   #29
 
elite*gold: 0
Join Date: Jul 2011
Posts: 82
Received Thanks: 12
#UP

Post above updated!
itachi26 is offline  
Reply


Similar Threads Similar Threads
Making a proxy - Working with packets
01/20/2011 - Conquer Online 2 - 3 Replies
I am interested in attempting to make my own proxy but one of the major hang ups I have is that I do not have anywhere close the understanding of packets in general much less conquer related packets. I need to understand these concepts and learn how to work with and apply them...the easiest and most practical way is through something that is hands on. If you have great experience doing this, any recommendations for a beginner type of project or exercises I should attempt/work on to begin...
making proxy tool in vb6 need a clue!!
05/19/2010 - Silkroad Online - 0 Replies
hello guys; its been long time since i made any tool for sro , i was bored and wanted to make a tool tht change sro proxy inorder to monitor sro packet and for other purposes i have good exp in vb6 and my c++ skills is a beginner skills anyway i was able to use this tool till the login success after that i noticed sro_client connect to another ip , i have to mention i used mediapatcher to edit all sro ip in mediapk2 to 127.0.0.1 here is what i found when my char login (on server:Helios)...
AutoIt bot making!
12/21/2009 - CO2 Guides & Templates - 8 Replies
Alright first you need to get AutoIt (autoitscript.com) Look for the downloads etc. Once downloaded right click on your desktop and go to New (like where you can create a new folder etc) And it will say new Autoit script and have the little picture, click it for the name, name it like test.au3. Ill explain a little program first the concept of Mouse clicking. MouseClick("left"&#41 ; Alright this will left click many times in VERY rapid succession. Now lets make it a little bit more...
Thoughts on a proxy-based bot-making API?
10/22/2008 - CO2 Programming - 49 Replies
Ok, I've had an idea for some time to make a proxy that beginners can code with, and isn't a hell of a mess like qoproxy and derivatives are. The idea I've come up with is a library where all networking code, packet serialization, login, authentication etc is hidden from the coder in a static lib or DLL. This also has other advantages, such as sharing code for bots, and not having to update your own bots if TQ decide to mess something up, you'd just need an updated version of the API. The...



All times are GMT +1. The time now is 02:40.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.