Register for your free account! | Forgot your password?

You last visited: Today at 20:28

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

Advertisement



Conquer Playground

Discussion on Conquer Playground within the CO2 Programming forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2014
Posts: 402
Received Thanks: 540
Conquer Playground

What is this?

Inspired by the thread by CptSky, I decided to try and make my own version of this.

Note: This is currently for learning purposes only, it is in no way intended to be some kind of "playable" thing.

The project is a C# DLL that is injected into the CO process which then hooks functions in the client and "tricks" the client into thinking that it's connecting and talking to an actual server.
The included "MinHookManaged" project is a thick C# binding to the library, which is the library that is currently used for the hooking part.
A launcher is also provided for convenience, but any launcher that is capable of injecting the DLL and calling the exported "Initialize" function should work fine.

The project currently targets the patch 4356 Conquer.exe. If you are interested in trying out the project, I'd suggest that you download the 4351 client, which can be found in the thread and then download and apply .
It is of course possible to use this for other patches, but that will require you to update the addresses for the ReceiveMsg and SendMsg functions and quite possibly also some packets.

Files

Inside the bin/Debug or bin/Release folder, the following files will need to be copied to your Conquer.exe directory:

ConquerPlayground.dll - the C# DLL that contains all the "game logic" (not much so far).
Launcher.exe - responsible for launching Conquer.exe and injecting the DLL.
MinHook.x86.dll - the native MinHook library.
MinHookManaged.dll - the thick C# binding for the MinHook library.

Features

Close to none. Right now, there's almost nothing implemented. There's only a couple of packet handlers implemented which is just enough to allow you to "log in" (username/password and server doesn't matter), get items from the shopping mall, equip items, and use a couple of commands.

Attached Files
File Type: rar ConquerPlayground.rar (1.51 MB, 204 views)
Best Coder 2014 is offline  
Thanks
8 Users
Old 08/24/2015, 12:50   #2
 
elite*gold: 0
Join Date: Feb 2014
Posts: 1
Received Thanks: 0
looks nice! I'm going to check it out later.
btw. can you provide us the source code for the MinHook.x86.dll and the MinHookManaged.dll ? I'm sure that a lot of adresses has changed in different versions, or are you searching dynamically for function, like sendFunc from 00000000 to FFFFFFFF in the memory?
splitter2k is offline  
Old 08/24/2015, 13:39   #3
 
elite*gold: 0
Join Date: Jul 2014
Posts: 402
Received Thanks: 540
Quote:
Originally Posted by splitter2k View Post
looks nice! I'm going to check it out later.
btw. can you provide us the source code for the MinHook.x86.dll and the MinHookManaged.dll ? I'm sure that a lot of adresses has changed in different versions, or are you searching dynamically for function, like sendFunc from 00000000 to FFFFFFFF in the memory?
You might want to check it out before you start asking questions .
Best Coder 2014 is offline  
Old 08/24/2015, 20:29   #4
 
elite*gold: 67
Join Date: Aug 2014
Posts: 1,323
Received Thanks: 928
Well the code could be cleaner considering the small scale of that project. ReSharper completely freaked out when I opened the solution - but who am i to talk after letting Xio leak. All in all its very neat, cought me off guard when I saw the "Server" part being just queues :P

Nice work.
Xio. is offline  
Old 08/24/2015, 22:02   #5
 
elite*gold: 0
Join Date: Jul 2014
Posts: 402
Received Thanks: 540
Quote:
Originally Posted by Xio. View Post
Well the code could be cleaner considering the small scale of that project. ReSharper completely freaked out when I opened the solution - but who am i to talk after letting Xio leak. All in all its very neat, cought me off guard when I saw the "Server" part being just queues :P

Nice work.
Seeing as I use StyleCop whose coding style rules differ a lot from the default ReSharper rules, it's not really that surprising to me that ReSharper would complain a lot.

What do you mean by "cleaner code", though? Less ReSharper issues?
Best Coder 2014 is offline  
Old 08/25/2015, 00:55   #6
 
elite*gold: 67
Join Date: Aug 2014
Posts: 1,323
Received Thanks: 928
Well your naming of private fields is equal to parameter names, requires to you prefix most assignments with a "this."


private GameNetwork gameNetwork;

public SendMsgHook(GameNetwork gameNetwork)
{
this.gameNetwork = gameNetwork;
this.Create(SendMsgAddress, new SendMsgDelegate(this.DetouredSendMsg));
}


You use the "this" prefix for almost everything, even if its totally not required, now, thats preference but I really dont like it.

private Queue<NetMsg> clientMessages;
private Queue<NetMsg> messages;

public GameNetwork()
{
this.clientMessages = new Queue<NetMsg>();
this.messages = new Queue<NetMsg>();
}


...all the redundand code in delegate assignments.
Red being redundant code.

this.Create(SendMsgAddress, new SendMsgDelegate(this.DetouredSendMsg));


Other than that its just resharper complaining about general rules I set for my own development.
Xio. is offline  
Old 08/25/2015, 01:31   #7
 
elite*gold: 0
Join Date: Jul 2014
Posts: 402
Received Thanks: 540
Quote:
Originally Posted by Xio. View Post
Well your naming of private fields is equal to parameter names, requires to you prefix most assignments with a "this."


private GameNetwork gameNetwork;

public SendMsgHook(GameNetwork gameNetwork)
{
this.gameNetwork = gameNetwork;
this.Create(SendMsgAddress, new SendMsgDelegate(this.DetouredSendMsg));
}


You use the "this" prefix for almost everything, even if its totally not required, now, thats preference but I really dont like it.

private Queue<NetMsg> clientMessages;
private Queue<NetMsg> messages;

public GameNetwork()
{
this.clientMessages = new Queue<NetMsg>();
this.messages = new Queue<NetMsg>();
}


...all the redundand code in delegate assignments.
Red being redundant code.

this.Create(SendMsgAddress, new SendMsgDelegate(this.DetouredSendMsg));


Other than that its just resharper complaining about general rules I set for my own development.
.

I know there's no need to explicitly "new" a delegate, but personally I prefer the explicitness.
Best Coder 2014 is offline  
Old 08/25/2015, 04:55   #8
 
elite*gold: 67
Join Date: Aug 2014
Posts: 1,323
Received Thanks: 928
Quote:
Originally Posted by Best Coder 2014 View Post
...
We all have our preferences :P I like seeing less code whenever possible :P
Xio. is offline  
Old 08/25/2015, 15:08   #9


 
KraHen's Avatar
 
elite*gold: 0
Join Date: Jul 2006
Posts: 2,216
Received Thanks: 794
Quote:
Originally Posted by Xio. View Post
We all have our preferences :P I like seeing less code whenever possible :P
I completely disagree with you on this, the style that he follows makes the code more readable IMO. Less code doesn't necessarily mean cleaner code, readability is way more important than saving 5 characters per a constructor assignment. But that's just me.
KraHen is offline  
Thanks
4 Users
Old 08/13/2017, 19:15   #10
 
boDil's Avatar
 
elite*gold: 0
Join Date: Apr 2017
Posts: 91
Received Thanks: 56
Quote:
Originally Posted by ahmedblizzard View Post
bro Can u make an aimbot for a private server? i will pay money for it trust me just reply back and i will be giving u my skype so we can contact
No.
boDil is offline  
Old 08/13/2017, 19:29   #11
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,283
Received Thanks: 4,192
Quote:
Originally Posted by boDil View Post
No.
He asked me the same thing. He's just going around spamming everyone.
Spirited is offline  
Reply


Similar Threads Similar Threads
[L2J]Elcardia - Unique pvp playground - 3rd of September 2013 at 13:00 GMT+2.
08/31/2013 - Lin2 Private Server - 0 Replies
http://shrani.si/f/14/qw/2sYX6GNV/capture.jpg A brand new server called ELCARDIA is opening on 3rd of September 2013 - 13:00 GMT+2. It's based on Interlude client with some custom (unique!) modification. To check the full feature list, check out their FORUM It's a high rate server, without any custom items. Notice that their developers implanted a special level 80 skill, with is different for every class. - Titan Ultimate: For 5 seconds, player gets immortal's status plus 1000 hp....
myERROR Playground SA:MP Server Vorstellung
02/02/2012 - Grand Theft Auto - 1 Replies
http://gamingazur.ga.ohost.de/Upload/myERRORPlaygr ound.png Hallo liebe SAMP Freunde, hiermit möchte ich unseren neuen Server Vorstellen. Das Script wurde am 29.01.2012 zum ersten mal mit der Version 2.0b gestartet! Wir versuchen jeden Tag an den Server zu Arbeiten um euch ein Gutes Spielvergnügen bieten zu können. Bis zum heutigem Tage haben wir schon ca. 15 Stammspieler und freuen uns auf jeden weiteren Spieler :) Hier mal eine kleine Vorschau was man so auf den Server machen kann. ...
Paradise playground pserver :P
08/22/2008 - Kal Online - 1 Replies
wrong place i know, forgive me. this server will die without people, come on :P paradiseplayground.eu everything is good about this server, first 10 people that go on and pm Heartless get 5 mil free( im 3rd place in server ranking, 5 mil is quite a bit), and help getting any armor/weps they need. go on and pm me.



All times are GMT +1. The time now is 20:29.


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.