[Release] Advanced hooking

02/25/2011 10:45 Matic^#31
What about c++, does this library works whit that language?
02/25/2011 13:53 IAmHawtness#32
Quote:
Originally Posted by Matic^ View Post
What about c++, does this library works whit that language?
It works for Visual C++, yes.
02/25/2011 16:43 DeathByMoogles#33
This thread was good inb4 noobs going
"HURR DURR HOW DOES I PROGRAM AND MAKE TEH EP1C B0TZ?"

Nice share though, will definitely come in handy.
02/25/2011 20:57 Real~Death#34
great release hawt,it is nice to see some REAL releases in this place again.
big thumbs ups for that
03/04/2011 08:13 Arco.#35
I'm interested in hooking. Seems like a really cool thing. I used this but not for Conquer, plan on using it for another game. But it just won't attach. see anything wrong with my code? And yes, it is getting the processid successfully.
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using AdvancedHooking;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Zeus Game = new Zeus();
            if (Game.Attach())
                Console.WriteLine("Successfully attached");
            Console.Read();
        }
    }
    class Zeus
    {
        private Debuggee _dbg;
        private bool IsAttached = false;
        private int _ProcessId = 0;


        public Debuggee Dbg
        {
            get { return _dbg; }
        }

        public int ProcessId
        {
            get { return _ProcessId; }
        }

        public Zeus()
        {
            this._ProcessId = GetProcessID("Zeus");
            this._dbg = new Debuggee(_ProcessId);//its getting the process id and shit perfectly. but it just wont attach
        }
        public int GetProcessID(string name)
        {
            foreach (Process Proc in Process.GetProcesses())
            {
                if (Proc.ProcessName.ToLower() == name.ToLower())
                    return Proc.Id;
            }
            return 0;
        }
        public bool Attach()
        {
            if (IsAttached)
                return false;
            _dbg.OnAttach += new Debuggee.OnAttachEventHandler(_dbg_OnAttach);

            if (_dbg.AttachDebugger())
            {
                IsAttached = true;
                return true;
            }
            else
            {
                return false;
            }
        }

        void _dbg_OnAttach(ref Debuggee Debuggee, ref Helper.CONTEXT ctx)
        {
            Console.WriteLine("Attached");
        }
    }
}
03/05/2011 07:53 kimbola#36
IAmHawtness can you do a big favour?

BR server ( Conquest ) just updated to Legends Return patch.

I tested in my proxy , and the packets are all the same with the USA version

The only difference I had to change was IP and local prot wich is

game ip: 187.17.71.196 , port 5003/5000

Can you change the ip config of your COOperative to the BR's ip i provided , to see if it will work? I can test , you send me a PM with it changed.
03/05/2011 16:54 gabrola#37
Quote:
Originally Posted by kimbola View Post
IAmHawtness can you do a big favour?

BR server ( Conquest ) just updated to Legends Return patch.

I tested in my proxy , and the packets are all the same with the USA version

The only difference I had to change was IP and local prot wich is

game ip: 187.17.71.196 , port 5003/5000

Can you change the ip config of your COOperative to the BR's ip i provided , to see if it will work? I can test , you send me a PM with it changed.
Cooperative isn't a proxy.
03/06/2011 02:44 kimbola#38
Then why it wouldnt work on the BR conquer?

I mean , the login name doesnt show ..
03/06/2011 21:24 pro4never#39
Quote:
Originally Posted by kimbola View Post
Then why it wouldnt work on the BR conquer?

I mean , the login name doesnt show ..
Chances are the client uses a different memory address for send/receive function meaning that the bot cannot hook it properly.


Proxy = packet based bot which is achieved by routing all your conquer activity through a program which handles the connections and such.

CoOperative = memory based bot which hooks the send/receive packet methods meaning it is still packet based but there is no reason to handle encryption, connections or re-direct the client anywhere.
05/05/2011 04:29 denominator#40
Code:
Error	1	The best overloaded method match for 'AdvancedHooking.Debuggee.ReadString(int, uint)' has some invalid arguments	C:\Users\Alan\AppData\Local\Temporary Projects\COHooker\COClient.cs	92	31	COHooker
Error	2	Argument 1: cannot convert from 'System.IntPtr' to 'int'	C:\Users\Alan\AppData\Local\Temporary Projects\COHooker\COClient.cs	92	50	COHooker
05/07/2011 23:10 DeathByMoogles#41
SelectedClient.SendPacket(Packet)

Doesn't get any easier than that.

But what are these?
Const NameOffset As Integer = &H15C
I am confused as to what &H15C is.
05/08/2011 00:18 IAmHawtness#42
Quote:
Originally Posted by DeathByMoogles View Post
SelectedClient.SendPacket(Packet)

Doesn't get any easier than that.

But what are these?
Const NameOffset As Integer = &H15C
I am confused as to what &H15C is.
&H15C = 0x15C. It's the offset of the "Name" property (string pointer) of the role class. So, [Role base address + 0x15C] = Address that contains name of role.
05/08/2011 01:50 DeathByMoogles#43
Quote:
Originally Posted by IAmHawtness View Post
&H15C = 0x15C. It's the offset of the "Name" property (string pointer) of the role class. So, [Role base address + 0x15C] = Address that contains name of role.
Ahh, so &H = 0x?

Also, does the example program work?
It detects my client, but doesn't do anything.
05/08/2011 02:30 IAmHawtness#44
Quote:
Originally Posted by DeathByMoogles View Post
Ahh, so &H = 0x?

Also, does the example program work?
It detects my client, but doesn't do anything.
Pretty sure some of the addresses are out-dated
05/08/2011 19:01 DeathByMoogles#45
Quote:
Originally Posted by IAmHawtness View Post
Pretty sure some of the addresses are out-dated
Haha, that would make sense.