COPAC - Conquer Online Packet Logger / Editor

08/29/2005 02:05 nukeforum#91
Alright, me and my buddy have been working on this a little, there are 2 primary problems you run into.

1. most of what we've been able to change is only superficial, only the client recognizes the changes.

and

2.The server NEVER gets tricked out of exact numbers.

Mostly what we've pulled off can be done with a process editor. With a process editor i was able to change my lvl, or so I thought... my lvl appeared different, but my exp said some ridiculous percent. For example, I was on lvl 70 and I set my lvl to 5, my exp appeared as 678675732%. Also, I was able to make it appear that I had 300 billion silvers. However, as soon as I try to deposit the money, the original value is reset and the system tells me that I don't have enough money.

Anyways, my point is, unless we can intercept and then edit/clone incoming packets from the server to trick your client into sending legitimate packets back to the server, we aren't going to accomplish a whole lot. Since the client's information is double checked by the server and vice versa, its doubtful that there would be a way to manipulate the code in such a manner. Maybe if there was some way to convince the server that it had sent these packets... maybe there is a hidden verification ping for each sent packet from the server...

Keep it real everyone, lots of great ideas bouncing around in here, ntm the team work. Great job chocoman4k, its quite a genius program, maybe if you could find a way to capture incoming packets from the server, we could progress a little farther with our research.

~Tha Nuke~
09/12/2005 23:22 Deatshot#92
can u capture the packet when u use a gate and u get teleported to TC or some city,so u can tleport with no gate from every place?
09/13/2005 00:51 Drascer#93
so i guess theres no way to get extra money yet? I can see how it would work, but no1 has made a program able to do it yet, probalbly because its way to complicated
09/13/2005 04:39 ultimatedestroyer#94
No way to do that yet no.
09/23/2005 09:31 monkeyleader#95
is there a way to send packets to the server that trick it into sending you packets that u want? for example, send a tricker packet to the server and u get a gem?
09/23/2005 11:15 GiYo#96
yes (gm like) and good luck finding this

perhaps some lvl 2/lvl 3 know

you need "flags" - probably done by some values in sql table

i think best would be to get access to SQL - for a while the server accepted just about any connection - dunno how is it now

they used postgre
09/23/2005 13:54 chocoman4k#97
nukeforum:
>> The server NEVER gets tricked out of exact numbers.
That's wrong, what we are trying to find is a packet with a number which the server doesn't check.

>> Anyways, my point is, unless we can intercept and then edit/clone incoming packets from the server to trick your client into sending legitimate packets back to the server, we aren't going to accomplish a whole lot.
I can intercept packets and change them on-the-fly, but when you are trying to use for example the gold you got with this method the server will check it aswell and give you a "no it's not valid".

Deatshot:
>> can u capture the packet when u use a gate and u get teleported to TC or some city,so u can tleport with no gate from every place?
I tried that, you can change the MapID and the x/y coordinate, the server will correct your packet and you will always come to the actual place.

Drascer:
>> so i guess theres no way to get extra money yet? I can see how it would work, but no1 has made a program able to do it yet, probalbly because its way to complicated
No there is no known way yet to get extra money, it's not too complicated it just takes too much time reversing all packets.
All you got are numbers, and you must figure what those numbers mean.

monkeyleader:
>> is there a way to send packets to the server that trick it into sending you packets that u want? for example, send a tricker packet to the server and u get a gem?
Currently there is no known way to do this.

GiYo:
>> i think best would be to get access to SQL - for a while the server accepted just about any connection - dunno how is it now
Well first off that's illegal and I wouldn't recommend anyone doing that.
And I think if a normal player had GM flags someone would notice it surely.

Currently the main reason why we reverse the packets is to find numbers which are not checked by the server,
and writing our own packet based bots/clients of course.
10/05/2005 06:47 monkeyleader#98
could somebody possibly make their own CO server? like a private one like some people did for RO(ragnarok online)? this way a group of friends could make their own server and could basically send packets for their friends/themselves to give them pretty much whatever they want.
10/05/2005 22:25 anticlownn#99
Quote:
Originally posted by monkeyleader@Oct 5 2005, 06:47
could somebody possibly make their own CO server? like a private one like some people did for RO(ragnarok online)? this way a group of friends could make their own server and could basically send packets for their friends/themselves to give them pretty much whatever they want.
Don't worry about it. The pros are already working on it :DD
10/15/2005 03:31 davyliyang#100
when i use it, it comes out error saying packet to process too big?
10/20/2005 09:59 oranabi#101
ok guys,
ive been following the forum for sometime. i dont know much about how to prepare hacks and record/send packets. stuff...

all i wanted to say is, in my sever, there is someone. this person gets the NORMAL items dropped from monsters. goes to the market sits down and puts all the NORMAL items on sale. When a customer comes and looks at his stuff, he sees all the items as +1 and when they buy the item it comes to their inventory as +1.

so he/she sells normal items, but customers see the items as +1 and buy them as +1. Now i dont know how to make this . If you can figure out please share.
10/20/2005 17:09 chocoman4k#102
davyliyang:
Just click OK/Yes or go to COPAC.ini and change MaxPacketSize to something around 4096.

oranabi:
Checked it. Impossible to do with the normal sell/buy packet.
For selling:

Code:
// for operations related to items
typedef struct INVENTORYITEMSTRUCT {
	WORD Length;     // 0x14
	WORD PacketType;   // 0x03f1 = PACKET_TYPE_INVENTORYITEMSTRUCT
	DWORD UniqueItemID;  // item's unique ID which this packet is about
	DWORD Price;
	DWORD StructType;   // see below
	DWORD TimeStamp;   // clock();
} *PINVENTORYITEMSTRUCT;

// INVENTORYITEMSTRUCT::StructType
#define INVENTORYITEMSTRUCT_TYPE_SELL     22 // client -> server
and

Code:
// for buying from other players
typedef struct BUYITEMSTRUCT {
	WORD Length;      // 0x14
	WORD PacketType;    // 0x03f3 = PACKET_TYPE_BUYITEMSTRUCT
	DWORD UniqueItemID;  // Unique ID of the item to buy
	DWORD PlayerID;    // ID of player who is selling the item
	DWORD Type;      // see below
	DWORD TimeStamp;    // clock()
} *PBUYITEMSTRUCT;

// BUYITEMSTRUCT::Type
#define BUYITEMSTRUCT_TYPE_BOUGHT 23
#define BUYITEMSTRUCT_TYPE_BUY   24
For buying.
10/23/2005 16:30 BlaNk#103
since all u do is copy the packets and resend them.. basically if i want to send bak the repair packets i can repair where ever i want right?

if this works + karma for you :P
10/30/2005 10:41 chocoman4k#104
Quote:
Originally posted by BlaNk@Oct 23 2005, 16:30
since all u do is copy the packets and resend them.. basically if i want to send bak the repair packets i can repair where ever i want right?
This has been fixed, now you can only do it when you are near to a NPC where you can repair items.
10/31/2005 16:42 g_elf#105
man i still dont figured how it wors
damn noob i am