Register for your free account! | Forgot your password?

You last visited: Today at 02:44

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

 

CO Packet decryption.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2006
Posts: 547
Received Thanks: 79
CO Packet decryption.

Hi, i recently made a Java proxy, I'm wondering if anyone would like to share with me the CO packet encryption/decryption packet structure.

I wouldn't mind it for testing purposes, thanks.



ChingChong23 is offline  
Old   #2
 
elite*gold: 0
Join Date: Nov 2008
Posts: 40
Received Thanks: 1
Umm i cant help you with your packet problem but i wanted to ask you, would you be releasing this in the future?

Sammi


Sorsha is offline  
Old   #3
 
elite*gold: 0
Join Date: Apr 2006
Posts: 64
Received Thanks: 31
What language did you write the proxy in? So you were able to get pass the Open SSL? The packet structure is the easy part once you are pass the Open SSL.

Which packet structure are you looking for? The older version or the newer version. Are you going to be using your proxy on private servers or the actual CO Servers?
BoboDundo is offline  
Old   #4
 
elite*gold: 0
Join Date: Oct 2005
Posts: 332
Received Thanks: 69
"the Open SSL", as you call it, is a sign that you don't know what Open SSL is.

You don't get past "the Open SSL", you use OpenSSL encryption algorithms to get past the initial handshake and to decrypt/encrypt all other packets.

Of all the algorithms in OpenSSL, only 2 are needed and both are not OpenSSL specific. Both may be ported to Java (I have done this, so it is possible) and used in a proxy written in java (my proxy and CIDProxy are proof). The 2 algorithms that are used are visible in the disassembled client as strings referencing files in the openssl package (can be found on sourceforge.net).

The implementation of these 2 is not quite straightforward (you need to fit them with the packets TQ uses during the initial handshake).


iliveoncaffiene is offline  
Old   #5
 
elite*gold: 0
Join Date: Dec 2007
Posts: 3
Received Thanks: 0
Thumbs up

Quote:
Originally Posted by iliveoncaffiene View Post
"the Open SSL", as you call it, is a sign that you don't know what Open SSL is.

You don't get past "the Open SSL", you use OpenSSL encryption algorithms to get past the initial handshake and to decrypt/encrypt all other packets.

Of all the algorithms in OpenSSL, only 2 are needed and both are not OpenSSL specific. Both may be ported to Java (I have done this, so it is possible) and used in a proxy written in java (my proxy and CIDProxy are proof). The 2 algorithms that are used are visible in the disassembled client as strings referencing files in the openssl package (can be found on sourceforge.net).

The implementation of these 2 is not quite straightforward (you need to fit them with the packets TQ uses during the initial handshake).
what these 2 algorithms are?
could you explain more in detail?
onpaint is offline  
Old   #6
 
elite*gold: 0
Join Date: Aug 2007
Posts: 295
Received Thanks: 89
Quote:
Originally Posted by onpaint View Post
what these 2 algorithms are?
could you explain more in detail?
He has given you all the information you need to find them....as well as a link to the OpenSSL package, what more detail do you want? short of caff giving the answer out.
Some-Guy is offline  
Old   #7
 
elite*gold: 0
Join Date: Feb 2006
Posts: 547
Received Thanks: 79
Quote:
Originally Posted by iliveoncaffiene View Post
"the Open SSL", as you call it, is a sign that you don't know what Open SSL is.

You don't get past "the Open SSL", you use OpenSSL encryption algorithms to get past the initial handshake and to decrypt/encrypt all other packets.

Of all the algorithms in OpenSSL, only 2 are needed and both are not OpenSSL specific. Both may be ported to Java (I have done this, so it is possible) and used in a proxy written in java (my proxy and CIDProxy are proof). The 2 algorithms that are used are visible in the disassembled client as strings referencing files in the openssl package (can be found on sourceforge.net).

The implementation of these 2 is not quite straightforward (you need to fit them with the packets TQ uses during the initial handshake).
How come you used a program to make it windows executable/native code, could have just obfuscated it and left it as java class files :P

I'll take a look into some OpenSSL wrappers for java, if no port it to java myself, thanks for the co-operation.
ChingChong23 is offline  
Old   #8
 
elite*gold: 0
Join Date: Dec 2007
Posts: 3
Received Thanks: 0
i write a simple client to connect to Conquer Game Server,
the server sent first packet to me before i send any data.
is that packet a handshake packet?
why not the client should send the first handshake packet?
and what information in that packet?
how can i decode it?
is there any references or docs i can find in the internet?
Thanks
onpaint is offline  
Old   #9
 
elite*gold: 0
Join Date: Feb 2006
Posts: 547
Received Thanks: 79
Quote:
Originally Posted by onpaint View Post
i write a simple client to connect to Conquer Game Server,
the server sent first packet to me before i send any data.
is that packet a handshake packet?
why not the client should send the first handshake packet?
and what information in that packet?
how can i decode it?
is there any references or docs i can find in the internet?
Thanks
Upon connecting is enough to get the server to send data first.
ChingChong23 is offline  
Old   #10
 
elite*gold: 0
Join Date: Oct 2005
Posts: 332
Received Thanks: 69
you wont find any wrappers for what you need, and the Java implementations that are already out there are inadequate (poorly coded or not exactly like OpenSSL). I copied a good portion of my implementation from the gnu-crypto package for Java. The function you need is a modification of a block cipher algorithm that allows for any number of bytes to be encrypted/decrypted at a time (block ciphers normally require the array to be a multiple of it's block size).
So you may copy the block cipher method from gnu-crypto, then look into OpenSSL and make your own copy of its function.
I really wish I could tell you the function or at least the algorithm, but it's still closed knowledge so I have to help you help yourself :P
iliveoncaffiene is offline  
Old   #11
 
elite*gold: 0
Join Date: Feb 2006
Posts: 547
Received Thanks: 79
k Disassembled the client, half of the strings found are about cryptography, lots of packages/class names i have no idea where to start.

RSA/DSA may possibly be the 2 algorithm's used, looked through gnu.crypto.cipher.* and i have a feeling Anubis is the one you used.

Before i possibly waste a lot of time attempting, is there any more hints you'd like to throw at me would help.
ChingChong23 is offline  
Old   #12
 
elite*gold: 0
Join Date: Dec 2008
Posts: 1
Received Thanks: 0
i need it plez


HishamHHH is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
Packet Decryption
I need help with understanding packet decryption. can anyone point me to a right tutorial? maybe tuts for reverse engineering? or tutorials for...
3 Replies - General Coding
Packet Decryption help
Hi! I'm working on a little prog. that decrypts the L2 packages. The decryption algorithm is (I think) good, because the first packet seems to...
4 Replies - Lineage 2
Packet Decryption
Packet Decryption: BYTE *DecryptPacket(BYTE *Packet, DWORD len) { BYTE KeyIndex, curKey, lastByte; DWORD i; KeyIndex = *(CryptInfo +...
9 Replies - WoW Exploits, Hacks, Tools & Macros
t4c packet decryption
Hey I was wondering if anyone could help me with packet decrypting of a game. Its called The 4th Coming. its a 2d game, and speed hacks work on it,...
0 Replies - General Coding



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


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

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.