Register for your free account! | Forgot your password?

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

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

Advertisement



[RELEASE][.NET] Hooking library, take two

Discussion on [RELEASE][.NET] Hooking library, take two within the CO2 Programming forum part of the Conquer Online 2 category.

Closed Thread
 
Old 04/29/2012, 22:54   #16
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,380
Quote:
Originally Posted by denominator View Post
Had a look at this and I am impressed, however I've also looked around at trying to make it "clientless" and I did find something about "hidden" on Google but I'm a little confused as to where it would be put?

If somebody would like to whisper me that has enough knowledge on this then I can give a url to the page that I found the "hidden" thing on.
Clientless cannot truly be accomplished with hooking because you are hooking into the client itself. You could hide the client but that's not clientless... you still have one open and the ram/cpu are still being used, you just aren't seeing the client.

I've seen hawtness demonstrating relog functionality using a hook bot so I don't really see a HUGE difference between clientless and cliented in a small bot you make yourself (obviously in a large scale, clientless is a big deal).

Tl:dr. True clientless with a hook based bot is not possible.
pro4never is offline  
Thanks
1 User
Old 04/29/2012, 23:06   #17
 
elite*gold: 0
Join Date: Aug 2010
Posts: 951
Received Thanks: 76
Yup I know what you mean P4N and yeah the process still runs but silently I guess you could call it?

Regardless the thing I was looking at just hides the stupid console any way lol.

Clientless as in CHROME bot for example.

I got this running as a GUI BUT I have no real idea how to show the packets unlike in the console. I mean with the console you just click and it opens the Conquer.exe and then you can see the packets etc in the console but I don't like using console and prefer to use a GUI so how would I add this to the GUI and in what would I add it to? I mean like a listbox or gridview or what?

Code:
private void button1_Click(object sender, EventArgs e)
        {
            COClient client = new COClient();
            client.Detached += (delegate()
            {
                Console.WriteLine("Client with process Id " + client.ProcessId + " detached");
            });


            client.PacketSent += (delegate(byte[] packet)
            {
                Console.WriteLine("SENT: " + BitConverter.ToString(packet).Replace("-", " "));
            });

            client.PacketReceived += (delegate(byte[] packet)
            {
                Console.WriteLine("RECV: " + BitConverter.ToString(packet).Replace("-", " "));
            });
            client.Start();
            

            Console.Read();

            client.SendPacket(new byte[] { 0, 0 });
For that to work I only need two things BUT I don't see the packets going back and forth >.< This is how the current button one is and works but I want to be able to see the data in the gui somewhere kind of like how CHROME works at the top right or something.

Code:
 private void button1_Click(object sender, EventArgs e)
        {
            COClient client = new COClient();
            client.Start();
        }
Also found I couldn't get this to work but I probably have to use CE to find the addresses and stuff right?

Code:
        private void selectChar_SelectedIndexChanged(object sender, EventArgs e)
        {
                var role = selectChar.SelectedItem as GameUser1;
                if (role != null)
                    selectedChar = role;
        }
denominator is offline  
Old 05/04/2012, 14:58   #18
 
elite*gold: 0
Join Date: Feb 2012
Posts: 16
Received Thanks: 2
Quote:
Originally Posted by denominator View Post
Yup I know what you mean P4N and yeah the process still runs but silently I guess you could call it?

Regardless the thing I was looking at just hides the stupid console any way lol.

Clientless as in CHROME bot for example.

I got this running as a GUI BUT I have no real idea how to show the packets unlike in the console. I mean with the console you just click and it opens the Conquer.exe and then you can see the packets etc in the console but I don't like using console and prefer to use a GUI so how would I add this to the GUI and in what would I add it to? I mean like a listbox or gridview or what?

Code:
private void button1_Click(object sender, EventArgs e)
        {
            COClient client = new COClient();
            client.Detached += (delegate()
            {
                Console.WriteLine("Client with process Id " + client.ProcessId + " detached");
            });


            client.PacketSent += (delegate(byte[] packet)
            {
                Console.WriteLine("SENT: " + BitConverter.ToString(packet).Replace("-", " "));
            });

            client.PacketReceived += (delegate(byte[] packet)
            {
                Console.WriteLine("RECV: " + BitConverter.ToString(packet).Replace("-", " "));
            });
            client.Start();
            

            Console.Read();

            client.SendPacket(new byte[] { 0, 0 });
For that to work I only need two things BUT I don't see the packets going back and forth >.< This is how the current button one is and works but I want to be able to see the data in the gui somewhere kind of like how CHROME works at the top right or something.

Code:
 private void button1_Click(object sender, EventArgs e)
        {
            COClient client = new COClient();
            client.Start();
        }
Also found I couldn't get this to work but I probably have to use CE to find the addresses and stuff right?

Code:
        private void selectChar_SelectedIndexChanged(object sender, EventArgs e)
        {
                var role = selectChar.SelectedItem as GameUser1;
                if (role != null)
                    selectedChar = role;
        }
See the code of the IAmHawtness first Hooking library. The example has a Working GUI with the old Lib. Just see how it works or try to learn how to program.

Code:
 private void button1_Click(object sender, EventArgs e)
        {
            COClient client = new COClient();
            client.Start();
        }
By doing this you're losing the client. You have to add it to a list or something like that to be able to acess its members after the private void button1_Click function.
ruievmonteiro is offline  
Old 05/08/2012, 20:38   #19
 
elite*gold: 0
Join Date: Aug 2010
Posts: 951
Received Thanks: 76
So something like this? I am still studying it all >.<

denominator is offline  
Old 05/10/2012, 22:16   #20
 
elite*gold: 20
Join Date: Aug 2007
Posts: 1,749
Received Thanks: 2,199
Update:

HookingV2
  • Fixed a potential stack overflow bug in the read/write process memory methods
  • Changed visibility of the GetRemoteProcedureAddress in the HookedProcess class

ConquerTestBot
Very sloppy bot with GUI, rushed it in two days so it's not very well structured, it has a horrible design (both GUI and code wise), but the whole point of it is really just to show what you can do using the hooking framework.
IAmHawtness is offline  
Thanks
5 Users
Old 05/11/2012, 02:18   #21
 
elite*gold: 0
Join Date: Aug 2010
Posts: 951
Received Thanks: 76
Do you use olly or CE to find mapinfopointer and what do you search for to find it o.0?
denominator is offline  
Old 05/14/2012, 12:32   #22
 
OELABOELA's Avatar
 
elite*gold: 223
Join Date: Dec 2007
Posts: 1,076
Received Thanks: 257
I might jump back into hacking conquer bussiness. This really makes me go and try to create some bot..
OELABOELA is offline  
Old 05/18/2012, 23:27   #23
 
elite*gold: 0
Join Date: Jul 2011
Posts: 98
Received Thanks: 12
Good Thank You , but what about attach exists client ?.
tariqx111 is offline  
Old 05/18/2012, 23:46   #24
 
elite*gold: 20
Join Date: Aug 2007
Posts: 1,749
Received Thanks: 2,199
Quote:
Originally Posted by tariqx111 View Post
Good Thank You , but what about attach exists client ?.
I didn't really include that, but hey, you could just download the source and add it
IAmHawtness is offline  
Old 05/19/2012, 00:45   #25
 
elite*gold: 0
Join Date: Jul 2011
Posts: 98
Received Thanks: 12
Quote:
Originally Posted by IAmHawtness View Post
I didn't really include that, but hey, you could just download the source and add it
ok , im try to add it but fails
tariqx111 is offline  
Old 05/19/2012, 11:01   #26
 
elite*gold: 0
Join Date: Jan 2007
Posts: 118
Received Thanks: 20
Quote:
Originally Posted by IAmHawtness View Post
Because I found the addresses using olly
I had been loving your library since the game encryption become private. But I will still lost when everytime TQ change the address specially this last update. I am not really good in assembly and it is really a pain in my eyes to understand those things. The old address was easy for me to look based only on the landmark but the latest changes, I am so clueless because the landmark was changed dramatically.

I will appreciate if you can give me at least a link on how to do this memory things.
xmen01235 is offline  
Old 05/19/2012, 13:19   #27
 
elite*gold: 0
Join Date: Sep 2006
Posts: 774
Received Thanks: 8,580
How about you go read some tutorials on assembly/reverse engineering instead of expecting to get spoonfed?
phize is offline  
Thanks
2 Users
Old 05/29/2012, 15:53   #28
 
stickray's Avatar
 
elite*gold: 0
Join Date: Sep 2006
Posts: 25
Received Thanks: 8
Eww just found this awesome post, and now it isnt workin for Patch 5607 My reversing skills arent enough to fix this, saddly. I hope if you have the time, you can maybe patch this.

Thanks anyway Sir, its a great Code for a Bot Basis.
stickray is offline  
Old 05/30/2012, 22:57   #29
 
elite*gold: 0
Join Date: Dec 2007
Posts: 108
Received Thanks: 42
5609 Addresses:
SendPacketFunction = 0x6C8F56
ReceiveLoop = 0x6C9833

This is how I find the addresses:

Recv Loop
1. Search all referenced text strings for "catch error in process msg" without quotes.
2. Trace back until I find "TEST EAX, EAX" followed by "JNZ SHORT <ADDRESS>".

Send Packet Function
1. Search for the binary string "55 8D AC 24 FC DF FF FF B8 04 20 00 00".

Removing the "You can't jump that far." message
1. Search for the constant 186C0.
2. Trace back to the first "JLE <ADDRESS>" command.
3. Replace JLE (7E) with JMP (EB).
*Note: doing this also means that you can attempt to jump further than the server allows (which will disconnect you) so you should validate all jump packets from the client.

Lock client at 60 FPs
1. Search all intermodular calls for Kernel32.Sleep.
2. Trace back and find ADD ECX, 19.
3. Trace back and find LEA EDX, DWORD PTR DS:[ECX+19].
4. Change 19 to another value. The lower the value the higher the FPS and the reverse is true. I use a value of 10 for 60 FPS.


Yes it's very rudimentary as I am as much a noob at this as anyone.
Belth is offline  
Thanks
11 Users
Old 05/31/2012, 18:46   #30


 
KraHen's Avatar
 
elite*gold: 0
Join Date: Jul 2006
Posts: 2,216
Received Thanks: 794
Wow I never realized it was this simple. I guess I`ll start fiddling around with this then.
KraHen is offline  
Closed Thread


Similar Threads Similar Threads
Release Library
06/04/2013 - Maestia - 6 Replies
Here are all the working Releases and Tutorials. Speed Hack: This will increase your movement speed http://www.elitepvpers.com/forum/maestia/1288146- release-maestia-speed-hack-v-1-x86-64-a.html Hackshieldkiller, Bot,...: The bot will level automatically. The Hackshieldbypass will bypass the Hackshield, so you wont get kicked.
[Demo-Release] Blackboard Library 2.1
08/17/2012 - Coding Releases - 11 Replies
Wolltest du schon immer mal dein eigenes kleines Spiel programmieren und dich nicht um das Rendern kümmern? Dann hab ich genau die richtige Library für dich. Mithilfe dieser Library - sofern du weißt was das ist - kannst du simple Spiele wie z. B. Pong, Snake und ähnliches programmieren, ohne einen großen Aufwand zu haben. Natürlich solltest du die Sprache C++ einigermaßen beherrschen und nicht mehr nachfragen müssen, was eine Klasse oder eine Schleife ist. Übrigens ist diese...
[Release] Advanced hooking
05/07/2012 - CO2 Programming - 187 Replies
Advanced hooking Have you ever needed a simple way to control an application without having to resort to DLL injection? I decided to release a class library for .NET applications that allows you to easily manipulate a remote process by using debugging techniques. All you have to do is add it as a reference to your project, and you're ready to use it. You can see the sample I provided if you're unsure of how it works (can easily be translated to C#, which someone already did (thanks)) The...
[Release]Big Script Library
07/25/2010 - SRO PServer Guides & Releases - 0 Replies
I think its a good idea to open this Topic. I need Your Help. Sent me your own made Scripts and i upload them here. It does not matter if there is already a script by the mob. Only Self made scripts!!! What To Post? Post me not the text file.Post me the script!!! Scorpion 1 by Th3Stalker
C++ D3D Hooking
08/24/2009 - C/C++ - 12 Replies
Hallo zusammen, ich stehe gerade vor folgendem Problem: ich habe eine DLL und einen Loader gecoded, jedoch will ich anstelle des Loader einen Injecter haben, sprich: das spiel, in das injected werden soll, soll schon laufen. Natürlich hab ich das ganze schon probiert, jedoch werden die D3D-funktionen nicht wirklich gehookt, da die DLL auf ein Direct3DCreate9 wartet. Da diese Funktion aber wahrscheinlich direkt beim Starten des "Opfer-Spiels" ausgeführt wird, werden deswegen die anderen...



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


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.