Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Exploits, Hacks & Tools
You last visited: Today at 17:58

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

Advertisement



.NET 2.0/c# - CO2 Proxy Library

Discussion on .NET 2.0/c# - CO2 Proxy Library within the CO2 Exploits, Hacks & Tools forum part of the Conquer Online 2 category.

Reply
 
Old 04/10/2006, 21:59   #16
 
elite*gold: 0
Join Date: Feb 2006
Posts: 49
Received Thanks: 9
very nice. but i dont know c# =(
I'm more familiar with c or c++.
andyandy is offline  
Old 04/10/2006, 23:00   #17
 
elite*gold: 0
Join Date: Mar 2006
Posts: 24
Received Thanks: 0
xD donno what it does
YUDADA is offline  
Old 04/11/2006, 03:11   #18
 
elite*gold: 0
Join Date: Jun 2005
Posts: 294
Received Thanks: 63
Ok I'm vaguely familier with C# code and a bit more familier with packets. I see in the start of the code the first 2 keys listed and the decryption and encrytion algorithims.
~Unknown~ is offline  
Old 04/11/2006, 03:24   #19
 
elite*gold: 0
Join Date: Jul 2005
Posts: 120
Received Thanks: 6
you could tweak it to do that, just have it not attempt to find the 3rd and the 4th key, and just use what you input into it.
Robsta is offline  
Old 04/11/2006, 03:31   #20
 
elite*gold: 0
Join Date: Jun 2005
Posts: 294
Received Thanks: 63
Quote:
Originally posted by Robsta@Apr 10 2006, 20:24
you could tweak it to do that, just have it not attempt to find the 3rd and the 4th key, and just use what you input into it.
yeah I figured it could but not being very knowlegeable in that field perhaps someone could navigate me to a source that can do this?
~Unknown~ is offline  
Old 04/11/2006, 04:37   #21
 
elite*gold: 0
Join Date: Apr 2006
Posts: 79
Received Thanks: 0
Quote:
Originally posted by S.O+Apr 10 2006, 14:27--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (S.O @ Apr 10 2006, 14:27)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--cheesewhore66@Apr 9 2006, 13:34
Hi,
As I spent a good days work writing this, and I got a lot of help from reading through posts from this forum to get it going I feel I should contribute something back! Maybe some of you could help me expand this code by sharing some your knowledge of the structure of the packets. I will cover the following in this post:

1) What this code does, and how to use it
2) What I know about different packets types (and what I'm assuming, I may be wrong!)
3) What I want to know!

If anyone feels like responding, reply here or in PM I don't mind. I feel like sharing today, but don't mind keeping it private!


What does this code do, andhow to use it

Simple answer it provides a proxy for CO2 that decodes all the data that passes through it, splits it into packets and then reencodes it and sends it onto the server. By doing this is can modify each packet sent either by the client or the server, and it can also inject packets in either direction at any time.
  • It is written in c#
  • It uses events to notify client classes of packets and other events
  • Its multithreaded (it can support anynumber of connections theoretically
  • Its an API, it is not a finished tool. IT IS FOR PROGRAMMERS!
  • Its pratically untested, and horribly unfinnished, it is not threadsafe (probably)

To use it you need to do the following

Quote:

ConquerProxy proxy = new ConquerProxy();
(new Thread(new ThreadStart(proxy.Run))).Start();
To do anything useful, you need to hook the NewConnection event on proxy, then you need to hook events on each new game connection you get notified of. I'll leave you to work that out!

What I know about different packets types
Ok simple answer, NOT VERY MUCH!

Well ok a little . I have made the following assumptions:
1) There must be some structure, its just a matter of how uniform this is, do they have some sane encoding system or do they just through structs down the wire? I'm in no mood to go disassembling conquer, so maybe one of u can shed some light on this.
2) All packets have a length (this is pretty damn certian, I am breaking the up by the length bytes, and its working).
3) All packets have a typeId. This would make a lot of sense, but I have seen no attempts to make a list of ids on this forum, I would REALLY LIKE THIS LIST!


So heres what I see a packet as being:

ushort length; (including this field)
ushort type;
byte[] data; remaining data of packet.


The only packet I've really looked at so far is the packet you get sent for each item in a shop its structure is as follows:

ushort length; // 0x28 (40)
ushort type; // 0x454 (1108)
uint32 itemid; // Unique ID For Item?? Just a guess
uint32 shop; // 6D B9 01 00 - same for same shop - This ids seem to get allocated sequentially on a time basis, not on a location basis. How do we determine the shop ids of the shops around us, what packets tell us this?
uint32 price; // Price
uint32 itemtypeid; // Maps to ItemTypes.data
uint32 id2; // Another Id that seems to change from item 2 item
uint32 unknown1; // usually 0x1
uint32 unknown2; // usually 0x0 - not always
uint32 unknown3; // usually 0x0 - not always
uint32 unknown4; // usually 0x0 - never seen otherwise in my limited testing

We need to document a structure like this for every packet we can, any help on this would be great I dont feel like reversing every one!





What I want to know
  • As much concrete structure information for useful packets as possible!
  • Any mistakes I have made in my code!


- Share and enjoy
not bad [/b][/quote]
yeah...
you could not quote the whole thing..
like what i just did.
it wastes space..
lol
...
bb
jangotat is offline  
Old 04/11/2006, 13:13   #22
 
elite*gold: 0
Join Date: Apr 2006
Posts: 5
Received Thanks: 0
Um I'm not sure what your trying to achieve with the keys, however it does handle the 3rd and 4th keys correctly. This code is meant for programmers, if you want to make it do something, learn c# and make it do it!

At present I do have a much updated version (about 60k of code now, up from 17k), but I won't be posting it here for now. It has been pointed out to me that my code (particurly the most uptodate code) would make writing some nasty tools very easy.

If anyone does wish to get access to the code, pm me letting me know why you think you should have it . Based on this I will decide if I will release code to you. Sorry to seem more closed now, but I agree with the arguments that have been presented to me privately. At very MINIMUM the following criteria should be satisfied.
  • You can code well in c#
  • You can demonstrate your own efforts to write CO2 tools
  • You have a definite idea for an application to develop using thellibrary
  • You agree not to redistribute the code

Beyond this list the decision is upto me, and I will be very selective for the time being.

Finally you will have to wait a while, I'm still working hard on this. The result will be a fairly complete implementation of the protocol. A fully event driven library for creating CO2 ad-ons, bots and tools.
cheesewhore66 is offline  
Old 04/11/2006, 13:16   #23
 
elite*gold: 0
Join Date: Jun 2005
Posts: 166
Received Thanks: 4
Quote:
Originally posted by jangotat@Apr 11 2006, 04:37
yeah...
you could not quote the whole thing..
like what i just did.
it wastes space..
lol
...
bb
i fixed mine, now you do the same.
S.O is offline  
Old 04/11/2006, 21:55   #24
 
elite*gold: 0
Join Date: Jun 2005
Posts: 294
Received Thanks: 63
Quote:
Originally posted by cheesewhore66@Apr 11 2006, 06:13
Um I'm not sure what your trying to achieve with the keys, however it does handle the 3rd and 4th keys correctly. This code is meant for programmers, if you want to make it do something, learn c# and make it do it!

At present I do have a much updated version (about 60k of code now, up from 17k), but I won't be posting it here for now. It has been pointed out to me that my code (particurly the most uptodate code) would make writing some nasty tools very easy.

If anyone does wish to get access to the code, pm me letting me know why you think you should have it . Based on this I will decide if I will release code to you. Sorry to seem more closed now, but I agree with the arguments that have been presented to me privately. At very MINIMUM the following criteria should be satisfied.
  • You can code well in c#
  • You can demonstrate your own efforts to write CO2 tools
  • You have a definite idea for an application to develop using thellibrary
  • You agree not to redistribute the code

Beyond this list the decision is upto me, and I will be very selective for the time being.

Finally you will have to wait a while, I'm still working hard on this. The result will be a fairly complete implementation of the protocol. A fully event driven library for creating CO2 ad-ons, bots and tools.
I was attempting to tweak your code to not attempt to get the 3rd and 4th key and just use as a program to encrypt packets with the 1st and 2nd key. I assume your saying you want me to do that myself? Unless your willing to do it for much thanks and some karma?
~Unknown~ is offline  
Old 04/12/2006, 15:39   #25
 
elite*gold: 0
Join Date: Dec 2005
Posts: 91
Received Thanks: 0
Quote:
Originally posted by cheesewhore66@Apr 11 2006, 13:13
Um I'm not sure what your trying to achieve with the keys, however it does handle the 3rd and 4th keys correctly. This code is meant for programmers, if you want to make it do something, learn c# and make it do it!

At present I do have a much updated version (about 60k of code now, up from 17k), but I won't be posting it here for now. It has been pointed out to me that my code (particurly the most uptodate code) would make writing some nasty tools very easy.

If anyone does wish to get access to the code, pm me letting me know why you think you should have it . Based on this I will decide if I will release code to you. Sorry to seem more closed now, but I agree with the arguments that have been presented to me privately. At very MINIMUM the following criteria should be satisfied.
  • You can code well in c#
  • You can demonstrate your own efforts to write CO2 tools
  • You have a definite idea for an application to develop using thellibrary
  • You agree not to redistribute the code

Beyond this list the decision is upto me, and I will be very selective for the time being.

Finally you will have to wait a while, I'm still working hard on this. The result will be a fairly complete implementation of the protocol. A fully event driven library for creating CO2 ad-ons, bots and tools.
Thanks, Please only give it to know and well respected members aswell please. If you need a hand decideing whos good or not, PM me or if you have msn give me your addy via PM. I am/was? Hojo, so I know who deserves it.

@Unkown, The 3rd and 4th Keys are generated, so writing them into the code will not help, becuase it would decrypt wrong, howeverm if you make an option to copy in the packet with the keys, you can generate them and use them. Bu I dont see why you need to do it offline what you can do it online, much easyer and hassle free.
Doobs is offline  
Old 04/12/2006, 22:53   #26
 
elite*gold: 0
Join Date: Jun 2005
Posts: 294
Received Thanks: 63
Quote:
Originally posted by Doobs+Apr 12 2006, 08:39--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Doobs @ Apr 12 2006, 08:39)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--cheesewhore66@Apr 11 2006, 13:13
Um I'm not sure what your trying to achieve with the keys, however it does handle the 3rd and 4th keys correctly. This code is meant for programmers, if you want to make it do something, learn c# and make it do it!

At present I do have a much updated version (about 60k of code now, up from 17k), but I won't be posting it here for now. It has been pointed out to me that my code (particurly the most uptodate code) would make writing some nasty tools very easy.

If anyone does wish to get access to the code, pm me letting me know why you think you should have it . Based on this I will decide if I will release code to you. Sorry to seem more closed now, but I agree with the arguments that have been presented to me privately. At very MINIMUM the following criteria should be satisfied.
  • You can code well in c#
  • You can demonstrate your own efforts to write CO2 tools
  • You have a definite idea for an application to develop using thellibrary
  • You agree not to redistribute the code

Beyond this list the decision is upto me, and I will be very selective for the time being.

Finally you will have to wait a while, I'm still working hard on this. The result will be a fairly complete implementation of the protocol. A fully event driven library for creating CO2 ad-ons, bots and tools.
Thanks, Please only give it to know and well respected members aswell please. If you need a hand decideing whos good or not, PM me or if you have msn give me your addy via PM. I am/was? Hojo, so I know who deserves it.

@Unkown, The 3rd and 4th Keys are generated, so writing them into the code will not help, becuase it would decrypt wrong, howeverm if you make an option to copy in the packet with the keys, you can generate them and use them. Bu I dont see why you need to do it offline what you can do it online, much easyer and hassle free. [/b][/quote]
Because what I want to do is encrypt the log in packet using a program. When you encrypt the login packet you only use the two keys listed in the code. Thats all I want the program to use so I can encrypt the 52 byte packet in one click if I enter the packet I want to encrypt. It's too much hassle to encrypt the log in packet byte by byte see what I mean? :P
~Unknown~ is offline  
Old 04/13/2006, 11:24   #27
 
elite*gold: 0
Join Date: Dec 2005
Posts: 9
Received Thanks: 0
thanks a lot greatly appreceated
co2player is offline  
Old 04/14/2006, 20:27   #28
 
elite*gold: 20
Join Date: Nov 2005
Posts: 622
Received Thanks: 5
Quote:
Originally posted by cheesewhore66@Apr 9 2006, 16:31
Ahem...... I am a noob!
See
Lightning73 is offline  
Old 08/12/2006, 05:47   #29
 
elite*gold: 0
Join Date: Aug 2006
Posts: 7
Received Thanks: 0
Quote:
Originally posted by cheesewhore66@Apr 9 2006, 13:34
Hi,
As I spent a good days work writing this, and I got a lot of help from reading through posts from this forum to get it going I feel I should contribute something back! Maybe some of you could help me expand this code by sharing some your knowledge of the structure of the packets. I will cover the following in this post:

1) What this code does, and how to use it
2) What I know about different packets types (and what I'm assuming, I may be wrong!)
3) What I want to know!

If anyone feels like responding, reply here or in PM I don't mind. I feel like sharing today, but don't mind keeping it private!


What does this code do, andhow to use it

Simple answer it provides a proxy for CO2 that decodes all the data that passes through it, splits it into packets and then reencodes it and sends it onto the server. By doing this is can modify each packet sent either by the client or the server, and it can also inject packets in either direction at any time.
  • It is written in c#
  • It uses events to notify client classes of packets and other events
  • Its multithreaded (it can support anynumber of connections theoretically
  • Its an API, it is not a finished tool. IT IS FOR PROGRAMMERS!
  • Its pratically untested, and horribly unfinnished, it is not threadsafe (probably)

To use it you need to do the following

Quote:

ConquerProxy proxy = new ConquerProxy();
(new Thread(new ThreadStart(proxy.Run))).Start();
To do anything useful, you need to hook the NewConnection event on proxy, then you need to hook events on each new game connection you get notified of. I'll leave you to work that out!

What I know about different packets types
Ok simple answer, NOT VERY MUCH!

Well ok a little . I have made the following assumptions:
1) There must be some structure, its just a matter of how uniform this is, do they have some sane encoding system or do they just through structs down the wire? I'm in no mood to go disassembling conquer, so maybe one of u can shed some light on this.
2) All packets have a length (this is pretty damn certian, I am breaking the up by the length bytes, and its working).
3) All packets have a typeId. This would make a lot of sense, but I have seen no attempts to make a list of ids on this forum, I would REALLY LIKE THIS LIST!


So heres what I see a packet as being:

ushort length; (including this field)
ushort type;
byte[] data; remaining data of packet.


The only packet I've really looked at so far is the packet you get sent for each item in a shop its structure is as follows:

ushort length; // 0x28 (40)
ushort type; // 0x454 (1108)
uint32 itemid; // Unique ID For Item?? Just a guess
uint32 shop; // 6D B9 01 00 - same for same shop - This ids seem to get allocated sequentially on a time basis, not on a location basis. How do we determine the shop ids of the shops around us, what packets tell us this?
uint32 price; // Price
uint32 itemtypeid; // Maps to ItemTypes.data
uint32 id2; // Another Id that seems to change from item 2 item
uint32 unknown1; // usually 0x1
uint32 unknown2; // usually 0x0 - not always
uint32 unknown3; // usually 0x0 - not always
uint32 unknown4; // usually 0x0 - never seen otherwise in my limited testing

We need to document a structure like this for every packet we can, any help on this would be great I dont feel like reversing every one!





What I want to know
  • As much concrete structure information for useful packets as possible!
  • Any mistakes I have made in my code!


- Share and enjoy
Lol this may be far fetched but could you/yall send or post me a link or way to learn this stuff like, programs that do the docoding, encrypting, settings and such. Essntially a guid that could be looked at and self educate. It would be much aprreciated.

Noob to moding.
BLOODxGUSHER is offline  
Old 08/12/2006, 09:11   #30
 
elite*gold: 0
Join Date: Aug 2006
Posts: 41
Received Thanks: 0
Thanks for the Tool
G-Unot is offline  
Reply


Similar Threads Similar Threads
[C#] Socket Library
03/28/2010 - Coding Releases - 2 Replies
Release Notes: This SocketLibrary (.dll) can be used for any purposes. From something big like a complete MMORPG, to something as small as a chat. I do not really care a bout you giving me credits for this release, but it would be nice if you did. You do not have to believe I made this, if you can prove I didn't create this, please show me. As far as I know, I did create this, didn't take me more than 10 minutes. Version(s): 0.1 - The first release, not many extras yet, just a basic,...
Longju2- Kernel Library
10/20/2008 - Metin2 Private Server - 9 Replies
mein problem: ich starte longju2 nach 3 sek kommteine meldung. Not found the kernel library or the kernel library is invaild or... ich habe die sufu benutzt und ich habe google benutzt. ratet mal was ich gefunden habe: nur topics wo andere das gleiche problem haben und auf die sufu und auf google verwiesen werden -.- ALSO KANN MIR BITTE JEMAND SAGEN WAS ICH TUN KANN???
uninstall agbpt and library
10/16/2008 - SRO Private Server - 1 Replies
sorry...i have very bad english... i wold like to uninstall agbot and library.exe and dot_ocx_files is possible ?? and how i can do it ? thk
Library Files ?
08/06/2008 - Silkroad Online - 2 Replies
Hi, I bought me a new pc and I want to install agbot but the link to the library files on rev6 is dead ? Does anybody have a other link ? I couldn't find it :( thx
Easily Defend the Library
04/04/2006 - General Gaming Discussion - 0 Replies
To the best of my knowledge this is the quest that wipes the most groups, here is the solution: Obviously you need a well disciplined group, and you need a Wizard that understands he is ONLY going to cast two spells, that is Web and Fireball. You must defend the named NPC for 16 minutes, against a never ending barrage of mobs, the other NPC?s can be ignored. Quite a few groups try the ?Block? method, where you try to block the NPC in a corner and keep him in one place so he does not die,...



All times are GMT +2. The time now is 17:58.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

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