Register for your free account! | Forgot your password?

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

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

Advertisement



[Question] Proxy - deciphering server key packet

Discussion on [Question] Proxy - deciphering server key packet within the CO2 Programming forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2006
Posts: 457
Received Thanks: 67
Exclamation [Question] Proxy - deciphering server key packet

I have managed to set up properly packet relay mechanism between client and server, so i am moving on to deciphering the packets. Right now i am stuck with the DH key packet sent by the server. I have read and re-read korvac's conquer wiki many times, but the codes are not documented, and is not self documenting to a java learner like myself, lol.

My understanding of CO cipher is that client receives DH key packet from server, client then performs initial cipher uses blowfish algorithm to decipher the packet to obtain the p,g,A keys. The key used for initial cipher is "DR654dt34trg4UI6". After obtaining p,g,A keys, a new shared public key is generated and will be used for future(starting from the second) packet ciphers.

[Problem description] Under the presumption that my understanding of the cipher is correct. I need THREE things to initialize my cipher object. (i) a key = "DR654dt34trg4UI6", (ii) an algorithm name = "Blowfish", (iii) an initial vector!!! Initial Vector is the problem i am having. combing through the codes on conquer wiki, (i might have overlooked)i have not seen the EncryptIV ever being initialized. Seems to me that it's always left as a new array of eight zeros.

[Request] May i know what the initial vector supposed to be, and i'd deeply appreciate if supporting knowledge is being shared.

[EDIT] Now i am wondering if my understanding is wrong or if i am using the wrong padding scheme or mode. Inferring from the wiki source("BF_cfb64_encrypt"), i believe CipherFeedBack mode is used, though i dont really understand what 64_encrypt means, but i am guessing it has something to do with 8bytes of data/IV.

Action speaks louder than words.. so i gave it a shot on by writing a little util tool that deciphers server key packet. here is a code snipplet in java
Code:
            Cipher cipherOut = Cipher.getInstance("Blowfish/CFB/NoPadding");
            byte[] key = "DR654dt34trg4UI6".getBytes();
            byte[] encryptedData = inputTextArea.getText().trim().getBytes(); //get the encrypted string without trailing and leading white spaces
            byte[] iv = new byte[8];  //never see iv being initialized in wiki sources, so i'll just follow
            IvParameterSpec ivs = new IvParameterSpec(iv);
            SecretKeySpec keySpec = new SecretKeySpec(key,"Blowfish");
            cipherOut.init (Cipher.DECRYPT_MODE,keySpec,ivs); //set cipher mode
            encryptedData = cipherOut.doFinal(encryptedData); //perform cipher
            outputTextArea.setText(new String(encryptedData)); //output result
I have never had any prior knowledge of cryptography, so i am not too sure of the decryption mode and paddings. Logically speaking, since blowfish is a 64bit block cipher, and the sizes of p,g,A varies with every generation, some form of paddings has to be done. The output of the above piece of code is a complete mess. So i do ponder if there is an encryption or not, or where did i do wrong to obtain current wrong result?
[End of Edit]

The following is a sample of what i currently being getting. High lighted in green is the dh key packet from server. I have also noticed this packet size always varies.
Code:
run:
Proxy Started : Listening for connection on port 9959
[GameProxy] : Thread started - Listening on 0.0.0.0/0.0.0.0:5816
@Auth Proxy : Client connected
[AuthProxy] Connecting to :208.96.34.46 on port 9959
[AuthProxy] Obtain password seed :complete
[AuthProxy] Sending authorization request :complete
[AuthProxy] Authorization response :complete
[AuthProxy] Extracting game server info :     216.93.183.196
[AuthProxy] Final reply to auth server :Complete.   80
[AuthProxy] Auth Relay Complete
[GameProxy] : Client connected
Starting up/down stream services
@downStreamService Constructor : prox2serv true
creating service threads
@upstreamservice: updown streams obtained
@downstreamservice: updown streams obtained
@downStreamService: relaypacket started.
[down:331][COLOR="SeaGreen"]29 D6 E5 9D 62 7C 94 D4 ED CC 97 56 A3 FD FC 85 26 D B7 57 3C A7 14 D4 B0 7C 7B E9 E7 35 63 D4 44 52 B8 29 C6 9C A7 52 9E 95 C6 EC F9 AA 93 AF 22 DC 26 BB DA 36 A9 C4 10 56 26 69 DE ED E0 1C 90 CD EE 5 27 5B E F4 18 B6 A4 1D D5 B B6 94 9B 68 B8 8F A5 59 9E F3 E4 A3 D5 74 52 52 69 8B FD 36 C7 29 38 51 30 D7 F9 7E B0 4 E5 25 CE BD D7 A7 18 83 60 19 F5 A5 D8 53 C2 95 9A B6 52 9D 75 79 32 A0 5E 1B 8 FB F7 78 DA E4 DD CD CE CC 1D 6 1B E9 45 A5 20 E7 AD 2F 66 EF F5 EC 18 33 9D 87 73 49 7 86 4C BA B9 46 25 B8 DA 13 B1 AB 2B C3 1B A6 30 13 11 B6 7 DF 7D 33 9B 6C D0 E3 5E 42 57 EC 7E ED D5 28 16 CB F 5B A0 5A FB 4F 16 31 37 84 4E BB 87 1E 70 1D 3B 66 88 5A A8 73 36 CA 33 95 D9 1E A2 4D 39 EC 7D 9B EF F9 B2 20 32 5 57 5C 2F AC C4 3F 31 D7 70 A D4 27 9A 6F AB 26 C9 48 84 54 41 62 5A 43 2 5B F4 66 93 CE FD 29 3F 4A E9 88 6B B2 97 6A 24 DD 48 40 36 4F 76 EB E1 27 8A 45 A 53 F4 19 67 8C B6 67 3A 61 25 3F B4 F4 55 C4 3F 32 E3 BF D6 DB 23 90 DE DD 3A 6F 62 5 C 66 F 31 61 45 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [/COLOR]
[up:190]3B 11 F8 F0 F B8 46 C2 98 8B A7 3A BB D5 14 4B 10 B9 18 3A AD A B2 A5 EA 30 5F 38 C5 79 F0 1D 64 2 EF 25 49 81 4D 1 AA 49 22 BC A5 A4 F5 E1 1B F6 3F 2D D7 84 9 94 51 4B D6 9 CD 8F 10 51 E1 AF AB 95 B2 E8 88 35 8 6 99 F6 68 A6 50 68 83 77 C3 D2 A5 8A 6E EF 98 55 71 3F B E3 E4 33 A3 BF E4 7D 90 1A F1 97 62 73 4 6E 38 8B 87 8E 91 90 1B F9 4E A3 9D 43 38 D5 8E 47 A0 8E 66 D6 46 CE 74 D9 C0 CF 10 BF 2 98 CA 66 E AC 26 F9 31 2D 9C EF 6B 7B 73 57 40 D0 80 58 CF F9 56 E1 43 C4 A9 1C AA 66 6C 90 DC 16 42 D1 6C 43 F3 E2 44 31 39 D3 99 E3 78 4E 9F 4C C0 B0 E5 1C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
shitboi is offline  
Old 11/21/2010, 12:48   #2
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
While I respect you quite a bit for going through this all yourself.. there is a leaked 5200+ proxy posted in one of the threads where I was first working on getting a proxy working.

That being said... here's some snippets you might find useful ^^

Basically you want to edit the server/client packets to use for each side of the encryption. Then one is used to encrypt/decrypt server data and one for client data.

Code:
public class ClientDHPacket
    {
        public string Client_PubKey;
        int JunkLength;
        public ClientDHPacket(byte[] Packet)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryReader BR = new BinaryReader(MS);

            BR.ReadBytes(7);//JUNK
            BR.ReadUInt32();//Length
            JunkLength = BR.ReadInt32();
            BR.ReadBytes(JunkLength);
            Client_PubKey = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            BR.Close();
            MS.Close();
        }
        public void Edit(byte[] Packet, string NewKey)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryWriter BW = new BinaryWriter(MS);
            BW.Seek(19 + JunkLength, SeekOrigin.Current);
            BW.Write(Encoding.ASCII.GetBytes(NewKey));
        }
    }
    public class ServerDHPacket
    {
        public byte[] ServerIV;
        public byte[] ClientIV;
        public string P;
        public string G;
        public string Server_PubKey;
        int JunkLength;

        public ServerDHPacket(byte[] Packet)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryReader BR = new BinaryReader(MS);
            BR.ReadBytes(11);//JUNK
            BR.ReadUInt32();//Length - Like i care of it
            JunkLength = BR.ReadInt32();
            BR.ReadBytes(JunkLength);//JUNK
            ServerIV = BR.ReadBytes(BR.ReadInt32());
            ClientIV = BR.ReadBytes(BR.ReadInt32());
            P = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            G = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            Server_PubKey = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            BR.Close();
            MS.Close();
        }
        public void Edit(byte[] Packet, string EditedPubKey)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryWriter BW = new BinaryWriter(MS);
            BW.Seek(55 + JunkLength + P.Length + G.Length, SeekOrigin.Current);
            BW.Write(Encoding.ASCII.GetBytes(EditedPubKey));
            BW.Close();
            MS.Close();
        }
    }
Credits for that go to Tannel seeing as it's his proxy that got leaked lol.
pro4never is offline  
Thanks
1 User
Old 11/21/2010, 16:27   #3
 
elite*gold: 0
Join Date: Jun 2006
Posts: 457
Received Thanks: 67
Quote:
Originally Posted by pro4never View Post
While I respect you quite a bit for going through this all yourself.. there is a leaked 5200+ proxy posted in one of the threads where I was first working on getting a proxy working.

That being said... here's some snippets you might find useful ^^

Basically you want to edit the server/client packets to use for each side of the encryption. Then one is used to encrypt/decrypt server data and one for client data.

Code:
public class ClientDHPacket
    {
        public string Client_PubKey;
        int JunkLength;
        public ClientDHPacket(byte[] Packet)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryReader BR = new BinaryReader(MS);

            BR.ReadBytes(7);//JUNK
            BR.ReadUInt32();//Length
            JunkLength = BR.ReadInt32();
            BR.ReadBytes(JunkLength);
            Client_PubKey = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            BR.Close();
            MS.Close();
        }
        public void Edit(byte[] Packet, string NewKey)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryWriter BW = new BinaryWriter(MS);
            BW.Seek(19 + JunkLength, SeekOrigin.Current);
            BW.Write(Encoding.ASCII.GetBytes(NewKey));
        }
    }
    public class ServerDHPacket
    {
        public byte[] ServerIV;
        public byte[] ClientIV;
        public string P;
        public string G;
        public string Server_PubKey;
        int JunkLength;

        public ServerDHPacket(byte[] Packet)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryReader BR = new BinaryReader(MS);
            BR.ReadBytes(11);//JUNK
            BR.ReadUInt32();//Length - Like i care of it
            JunkLength = BR.ReadInt32();
            BR.ReadBytes(JunkLength);//JUNK
            ServerIV = BR.ReadBytes(BR.ReadInt32());
            ClientIV = BR.ReadBytes(BR.ReadInt32());
            P = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            G = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            Server_PubKey = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            BR.Close();
            MS.Close();
        }
        public void Edit(byte[] Packet, string EditedPubKey)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryWriter BW = new BinaryWriter(MS);
            BW.Seek(55 + JunkLength + P.Length + G.Length, SeekOrigin.Current);
            BW.Write(Encoding.ASCII.GetBytes(EditedPubKey));
            BW.Close();
            MS.Close();
        }
    }
Credits for that go to Tannel seeing as it's his proxy that got leaked lol.
Wow... that is a really valuable piece of reference you gave me. That instantly defeated my 2nd hurdle. But that still left me with my initial question: the server DH packet is encrypted using blowfish with "DR654dt34trg4UI6" as the key right? The reason for this question is that i immediately set up my tool based on the methodology of the the above ServerDHPacket class and found out the out put of junklength is ridiculously large/unreal, thus i suspect it is encrypted; By contrapositive reasoning. if the logic for dh exchange is to establish a shared key for client and server's blowfish, why is there a need for the initial DR.....UI6 key?
shitboi is offline  
Old 11/21/2010, 17:08   #4
 
elite*gold: 0
Join Date: Feb 2005
Posts: 156
Received Thanks: 9
Quote:
Originally Posted by pro4never View Post
While I respect you quite a bit for going through this all yourself.. there is a leaked 5200+ proxy posted in one of the threads where I was first working on getting a proxy working.

That being said... here's some snippets you might find useful ^^

Basically you want to edit the server/client packets to use for each side of the encryption. Then one is used to encrypt/decrypt server data and one for client data.

Code:
public class ClientDHPacket
    {
        public string Client_PubKey;
        int JunkLength;
        public ClientDHPacket(byte[] Packet)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryReader BR = new BinaryReader(MS);

            BR.ReadBytes(7);//JUNK
            BR.ReadUInt32();//Length
            JunkLength = BR.ReadInt32();
            BR.ReadBytes(JunkLength);
            Client_PubKey = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            BR.Close();
            MS.Close();
        }
        public void Edit(byte[] Packet, string NewKey)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryWriter BW = new BinaryWriter(MS);
            BW.Seek(19 + JunkLength, SeekOrigin.Current);
            BW.Write(Encoding.ASCII.GetBytes(NewKey));
        }
    }
    public class ServerDHPacket
    {
        public byte[] ServerIV;
        public byte[] ClientIV;
        public string P;
        public string G;
        public string Server_PubKey;
        int JunkLength;

        public ServerDHPacket(byte[] Packet)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryReader BR = new BinaryReader(MS);
            BR.ReadBytes(11);//JUNK
            BR.ReadUInt32();//Length - Like i care of it
            JunkLength = BR.ReadInt32();
            BR.ReadBytes(JunkLength);//JUNK
            ServerIV = BR.ReadBytes(BR.ReadInt32());
            ClientIV = BR.ReadBytes(BR.ReadInt32());
            P = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            G = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            Server_PubKey = Encoding.ASCII.GetString(BR.ReadBytes(BR.ReadInt32()));
            BR.Close();
            MS.Close();
        }
        public void Edit(byte[] Packet, string EditedPubKey)
        {
            MemoryStream MS = new MemoryStream(Packet);
            BinaryWriter BW = new BinaryWriter(MS);
            BW.Seek(55 + JunkLength + P.Length + G.Length, SeekOrigin.Current);
            BW.Write(Encoding.ASCII.GetBytes(EditedPubKey));
            BW.Close();
            MS.Close();
        }
    }
Credits for that go to Tannel seeing as it's his proxy that got leaked lol.
I was looking @ read at least 10 times and for me looks like it was incomplete?

I mean, Class DH inherits Base (base class doesnt exists)? BigNumber type? and what about this?
base(Base.ExpectNonNull(DH_new()), true)... from where this came from? Theres no base class, at least on the wiki.


pro4never, not that I would like that my job would be leaked but do you have a link for that proxy? just want to take a look.

Thanks u/korvacs for the support.
vDrag0n is offline  
Old 11/21/2010, 17:27   #5

 
Kiyono's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 924
Quote:
Originally Posted by vDrag0n View Post
I was looking @ read at least 10 times and for me looks like it was incomplete?

I mean, Class DH inherits Base (base class doesnt exists)? BigNumber type? and what about this?
base(Base.ExpectNonNull(DH_new()), true)... from where this came from? Theres no base class, at least on the wiki.


pro4never, not that I would like that my job would be leaked but do you have a link for that proxy? just want to take a look.

Thanks u/korvacs for the support.
Even though it's already leaked, here's the 5228 proxy, rar'd and password'd.
Attached Files
File Type: rar ConquerProxy 5228.rar (964.8 KB, 130 views)
Kiyono is offline  
Thanks
2 Users
Old 11/21/2010, 17:44   #6
 
elite*gold: 0
Join Date: Jun 2006
Posts: 457
Received Thanks: 67
Currently brute forcing the rar file, lol. I'll wait to see what gems i can find in there.
shitboi is offline  
Old 11/21/2010, 17:47   #7
 
elite*gold: 0
Join Date: Jun 2006
Posts: 457
Received Thanks: 67
Actually, that piece of code only serves as a reference. When you speak of DH.cs, that inheritance, imo, is not important. You should be able to find implementations of blowfish and dh on the web. All that's important to you right now is probably how the skeleton is like.
shitboi is offline  
Old 11/21/2010, 17:50   #8
 
elite*gold: 0
Join Date: Feb 2005
Posts: 156
Received Thanks: 9
Quote:
Originally Posted by Kiyono View Post
Even though it's already leaked, here's the 5228 proxy, rar'd and password'd.
I'll check it, thanks for this!
vDrag0n is offline  
Old 11/21/2010, 18:01   #9

 
Kiyono's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 924
Quote:
Originally Posted by shitboi View Post
Actually, that piece of code only serves as a reference. When you speak of DH.cs, that inheritance, imo, is not important. You should be able to find implementations of blowfish and dh on the web. All that's important to you right now is probably how the skeleton is like.
So you do not need the password anymore?
Kiyono is offline  
Old 11/21/2010, 18:07   #10
 
elite*gold: 0
Join Date: Feb 2005
Posts: 156
Received Thanks: 9
Quote:
Originally Posted by shitboi View Post
Currently brute forcing the rar file, lol. I'll wait to see what gems i can find in there.
Really, i guess Kiyono have sent you the password, or you will take FEW ERAS to discover it.

lol.

Btw, just out of curiosity I was trying to compile but i always get a BadImageFormatException @ debug. Is it related with x86/x64 dlls?
vDrag0n is offline  
Old 11/21/2010, 18:22   #11
 
elite*gold: 0
Join Date: Jun 2006
Posts: 457
Received Thanks: 67
Actually if you can give me the password, i'd deeply appreciate it ... I dont wanna wait a few days for the password to come out, lol. So, PLEASE...
shitboi is offline  
Old 11/21/2010, 18:29   #12

 
Kiyono's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 924
Quote:
Originally Posted by shitboi View Post
Actually if you can give me the password, i'd deeply appreciate it ... I dont wanna wait a few days for the password to come out, lol. So, PLEASE...
Send.
Kiyono is offline  
Thanks
1 User
Old 11/21/2010, 18:32   #13
 
elite*gold: 0
Join Date: Feb 2005
Posts: 156
Received Thanks: 9
Quote:
Originally Posted by Kiyono View Post
Send.
Any idea why it does give me BadImageFormatException?

This is something with libeay32.dll -i'm on 32 bit tho.
vDrag0n is offline  
Old 11/21/2010, 19:09   #14

 
Kiyono's Avatar
 
elite*gold: 20
Join Date: Jun 2006
Posts: 3,296
Received Thanks: 924
Quote:
Originally Posted by vDrag0n View Post
Any idea why it does give me BadImageFormatException?

This is something with libeay32.dll -i'm on 32 bit tho.
No, I'm getting the same problem.
Kiyono is offline  
Old 11/21/2010, 19:25   #15
 
elite*gold: 0
Join Date: Jun 2006
Posts: 457
Received Thanks: 67
Thanks pro4never and kiyono for your help. Now i am pretty sure i was and am on the right track. I revisited my codes and realized i made a mistake when converting "string representation of packet" into byte[] thus getting wrong output with cipher. After correcting that mistake i suppose this should be a valid serverDH packet after blowfish. It's validity is proven by the TQserver signature in Red.

Quote:

��^�dP�Y&V[b , ^��ؚ���j_��odB���%+׶�?
a�5����>(�)!����� �0��X֍ �|��݀ A320A85EDD79171C341459E94807D71D39BB3B3F3B5161CA84 894F3AC3FC7FEC317A2DDEC83B66D30C29261C6492643061AE CFCF4A051816D7C359A6A7B7D8FB 05� 660811FF745F03973DE6DA19F81BC651A6B09C7B1816A2937C 6BDADBE78E9FB9A66C6F98873B3CA49DB3E8F47E1E8DC860EB 941E3A6D9FF13A613A5A603053E2TQServer��Z1�|x{"��$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|��u$w
�|�
shitboi is offline  
Reply

Tags
cipher, dh-key, encryption, exchange, proxy


Similar Threads Similar Threads
Play sound via Packet Send?? [Question String Packet]
07/14/2010 - CO2 Private Server - 5 Replies
Yow im trying to figure out why i cant play music with the string packet What im doin is; MyChar.Client.SendPacket(Game.Packet.String(MyCha r.UID, 20, Splitter)); My Packet is: public byte String(long CharId, byte Type, string name)
[Question] Packet data , packet editing ??
10/13/2009 - 9Dragons - 2 Replies
I would like to know : What is packet data? How do i get the address for hacking a item in game? How to use it ??
Packet Logger/Proxy
11/24/2007 - CO2 Exploits, Hacks & Tools - 81 Replies
After seeing many "proxy" programs abuse trust and/or disappear I decided to make my own. I figured I might as well release it. Use it if you'd like. It runs off a similar system as my Emu I'm working on so you can get a general idea for it's power :o :P The setup is simple. The config file is filled out as such: proxy-address = yourip server-address = 69.59.142.13 proxy-port = 9958 ;ignore-id = 1010 ;special-id = 1011 ignore-id ignores certain packets (both directions) from being...
new packet structure?proxy=dead?
08/19/2007 - Conquer Online 2 - 2 Replies
I'm hearing that the server.dat has been cracked,and the chat commands are not valid anymore?is it true?Is anyone planing on realeasing the server fix?even without the proxies the are still some uses for it.If some one knows hows can you tell us how to crack it.My hex skills are weak,I know java and trying to learn more on VB,but by the time i crack it the next patch will be out lol :(



All times are GMT +2. The time now is 06:26.


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