creating a new Conquer loader [ Any version ] using C#

02/25/2013 15:44 abdeen#1
Hello Elitepvpers members :)

i am Requesting a simple guide of creating a new Conquer loader [ Any version ] using C#

or just showing me the begin point what i`ll need to make the loader ... and if there a simple or something like that ..

thanks anyway ...
02/25/2013 16:21 abdoumatrix#2
try geting source code by decypting any loader u have with reflector
[Only registered and activated users can see links. Click Here To Register...]

and study its code and know how to one

that 's what i do to do mine
02/25/2013 16:41 shadowman123#3
Awesome
02/26/2013 03:12 Super Aids#4
Too bad the reflector won't work if he referres to ConquerloaderV5, because it's not in .NET, but seriously just look up the Process class.
02/26/2013 14:01 _DreadNought_#5
ConquerLoaderV5 isn't .net because for most it's easier to hook the connect function in C++.

Personally, I've done it in both and they're just as easy as eachother.
02/26/2013 20:11 abdeen#6
Quote:
Originally Posted by abdoumatrix View Post
try geting source code by decypting any loader u have with reflector
[Only registered and activated users can see links. Click Here To Register...]

and study its code and know how to one

that 's what i do to do mine

thanks guys ... i will take a look into this ...:)

I've tried .net Reflector with my loader and i got this message ...

Code:
'C:\Conquer Online 2.0\CoLoader.exe' is not a .NET module.
so i want i .net loader ...
02/26/2013 21:11 Super Aids#7
The loader was made in .NET obviously. Instead of trying to steal others sources to make your own, why not learn how to actual program and then do one yourself?

Everything you need as resources is already out there, even the hooking.
02/26/2013 21:14 abdeen#8
here is a pic from my server using my first Loader

how i can fix this ?

[Only registered and activated users can see links. Click Here To Register...]

Quote:
Originally Posted by Super Aids View Post
The loader was made in .NET obviously. Instead of trying to steal others sources to make your own, why not learn how to actual program and then do one yourself?

Everything you need as resources is already out there, even the hooking.
i am not stealing i am just learning how i can do this ... and i`ve done with errors
02/26/2013 21:34 Super Aids#9
I don't think that's a loader problem, but a problem with your packets.
02/26/2013 21:42 abdeen#10
Quote:
Originally Posted by Super Aids View Post
I don't think that's a loader problem, but a problem with your packets.

here is .cs files which i am using for the loader ...

HTML Code:
public static class WINAPI
    {
        // Methods
        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern int CloseHandle(IntPtr hObject);
        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttribute, IntPtr dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId);
        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern IntPtr GetModuleHandle(string lpModuleName);
        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern IntPtr GetProcAddress(IntPtr hModule, string lpProcName);
        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern IntPtr OpenProcess(uint dwDesiredAccess, int bInheritHandle, uint dwProcessId);
        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, uint flAllocationType, uint flProtect);
        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern int WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] buffer, uint size, out IntPtr lpNumberOfBytesWritten);

        // Nested Types
        public static class VAE_Enums
        {
            // Nested Types
            public enum AllocationType
            {
                MEM_COMMIT = 0x1000,
                MEM_RESERVE = 0x2000,
                MEM_RESET = 0x80000
            }

            public enum ProtectionConstants
            {
                PAGE_EXECUTE = 0x10,
                PAGE_EXECUTE_READ = 0x20,
                PAGE_EXECUTE_READWRITE = 0x40,
                PAGE_EXECUTE_WRITECOPY = 0x80,
                PAGE_NOACCESS = 1
            }
        }
    }

HTML Code:
public static class donttryitathomeion
    {
        // Methods
        //private static byte[] CalcBytes(string sToConvert);
        //private static bool CRT(Process pToBedonttryitathomeed, string sDllPath, out string sError, out IntPtr hwnd);
        //public static bool donttryitathome(Process pToBedonttryitathomeed, string sDllPath, out string sError);
        private static byte[] CalcBytes(string sToConvert)
        {
            return Encoding.ASCII.GetBytes(sToConvert);
        }

        private static bool CRT(Process pToBedonttryitathomeed, string sDllPath, out string sError, out IntPtr hwnd)
        {
            sError = string.Empty;
            IntPtr hProcess = WINAPI.OpenProcess(0x43a, 1, (uint)pToBedonttryitathomeed.Id);
            hwnd = hProcess;
            if (hProcess == IntPtr.Zero)
            {
                sError = "Unable to attatch to process.\n";
                sError = sError + "Error code: " + Marshal.GetLastWin32Error();
                return false;
            }
            IntPtr procAddress = WINAPI.GetProcAddress(WINAPI.GetModuleHandle("kernel32.dll"), "LoadLibraryA");
            if (procAddress == IntPtr.Zero)
            {
                sError = "Unable to find address of \"LoadLibraryA\".\n";
                sError = sError + "Error code: " + Marshal.GetLastWin32Error();
                return false;
            }
            IntPtr lpBaseAddress = WINAPI.VirtualAllocEx(hProcess, IntPtr.Zero, (IntPtr)sDllPath.Length, 0x3000, 0x40);
            if ((lpBaseAddress == IntPtr.Zero) && (lpBaseAddress == IntPtr.Zero))
            {
                sError = "Unable to allocate memory to target process.\n";
                sError = sError + "Error code: " + Marshal.GetLastWin32Error();
                return false;
            }
            byte[] buffer = CalcBytes(sDllPath);
            IntPtr zero = IntPtr.Zero;
            WINAPI.WriteProcessMemory(hProcess, lpBaseAddress, buffer, (uint)buffer.Length, out zero);
            if (Marshal.GetLastWin32Error() != 0)
            {
                sError = "Unable to write memory to process.";
                sError = sError + "Error code: " + Marshal.GetLastWin32Error();
                return false;
            }
            if (WINAPI.CreateRemoteThread(hProcess, IntPtr.Zero, IntPtr.Zero, procAddress, lpBaseAddress, 0, IntPtr.Zero) == IntPtr.Zero)
            {
                sError = "Unable to load dll into memory.";
                sError = sError + "Error code: " + Marshal.GetLastWin32Error();
                return false;
            }
            return true;
        }
        public static bool donttryitathome(Process pToBedonttryitathomeed, string sDllPath, out string sError)
        {
            IntPtr zero = IntPtr.Zero;
            if (!CRT(pToBedonttryitathomeed, sDllPath, out sError, out zero))
            {
                if (zero != IntPtr.Zero)
                {
                    WINAPI.CloseHandle(zero);
                }
                return false;
            }
            int num = Marshal.GetLastWin32Error();
            return true;
        }



        // Nested Types
        private static class WINAPI
        {
            // Methods
            [DllImport("kernel32.dll", SetLastError = true)]
            public static extern int CloseHandle(IntPtr hObject);
            [DllImport("kernel32.dll", SetLastError = true)]
            public static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttribute, IntPtr dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, IntPtr lpThreadId);
            [DllImport("kernel32.dll", SetLastError = true)]
            public static extern IntPtr GetModuleHandle(string lpModuleName);
            [DllImport("kernel32.dll", SetLastError = true)]
            public static extern IntPtr GetProcAddress(IntPtr hModule, string lpProcName);
            [DllImport("kernel32.dll", SetLastError = true)]
            public static extern IntPtr OpenProcess(uint dwDesiredAccess, int bInheritHandle, uint dwProcessId);
            [DllImport("kernel32.dll", SetLastError = true)]
            public static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, uint flAllocationType, uint flProtect);
            [DllImport("kernel32.dll", SetLastError = true)]
            public static extern int WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] buffer, uint size, out IntPtr lpNumberOfBytesWritten);

            // Nested Types
            public static class VAE_Enums
            {
                // Nested Types
                public enum AllocationType
                {
                    MEM_COMMIT = 0x1000,
                    MEM_RESERVE = 0x2000,
                    MEM_RESET = 0x80000
                }

                public enum ProtectionConstants
                {
                    PAGE_EXECUTE = 0x10,
                    PAGE_EXECUTE_READ = 0x20,
                    PAGE_EXECUTE_READWRITE = 0x40,
                    PAGE_EXECUTE_WRITECOPY = 0x80,
                    PAGE_NOACCESS = 1
                }
            }
        }
    }

HTML Code:
    internal static class Program
    {
        // Methods
        [STAThread]
        private static void Main()
        {
            Process pToBedonttryitathomeed = Process.Start("Conquer.exe", " BLACKNULL");
            string sError = "";
            int num = 0;
            bool flag = true;
            do
            {
                num++;
                if (num == 20)
                {
                    break;
                }
                flag = donttryitathomeion.donttryitathome(pToBedonttryitathomeed, "LoaderHook", out sError);
                Thread.Sleep(0x3e8);
            }
            while (!flag && sError.Contains("126"));
            if (!flag)
            {
                MessageBox.Show(sError);
            }
            Application.Exit();
        }
    }
02/26/2013 22:18 abdoumatrix#11
Quote:
Originally Posted by abdeen View Post
here is a pic from my server using my first Loader

how i can fix this ?

[Only registered and activated users can see links. Click Here To Register...]



i am not stealing i am just learning how i can do this ... and i`ve done with errors
this is 5672+ patch right?
use conquerloader injector better it solve thos problem

Quote:
Originally Posted by Super Aids View Post
The loader was made in .NET obviously. Instead of trying to steal others sources to make your own, why not learn how to actual program and then do one yourself?

Everything you need as resources is already out there, even the hooking.
using reflector isn't bad ,it help me alot in understanding how it work

then i try to make mine and if i failed i just change the copyrights :D
02/26/2013 22:38 Super Aids#12
And a correction to my post. I meant "Wasn't".

Quote:
Originally Posted by abdoumatrix View Post
this is 5672+ patch right?
use conquerloader injector better it solve thos problem



using reflector isn't bad ,it help me alot in understanding how it work

then i try to make mine and if i failed i just change the copyrights :D
Made me dislike you.
02/26/2013 22:55 Lateralus#13
Sorry, I believe it's the other way around for 99% of the community. First step is to change the copyrights/steal others' work and claim as yours, if that fails, beg someone for it, if that fails, beg someone to crack it for you, if that fails, beg someone to do it for you, if that fails, give up or attempt it and give up later because you didn't learn the basics. Gnome saiyan?
02/27/2013 00:07 shadowman123#14
thats Right ... we shouldnt give ourselves copyright of things that we havent done if so thats called theft

@abdomatrix what conquerinjector do u use ?
02/27/2013 14:59 abdoumatrix#15
Quote:
Originally Posted by Super Aids View Post
And a correction to my post. I meant "Wasn't".



Made me dislike you.
PHP Code:
   The Following 2 Users Say Thank You to Super Aids For This Useful Post:       
shadowman123 (Today), |xabi| (Yesterday
One dislike me and 2 thanks him for that
:(:(:(:(:(
i mean that not every one use reflector to just change the copyrights

don't dislike me please.:handsdown::handsdown:

but sometimes people do like he say
Quote:
Originally Posted by Lateralus View Post
Sorry, I believe it's the other way around for 99% of the community. First step is to change the copyrights/steal others' work and claim as yours, if that fails, beg someone for it, if that fails, beg someone to crack it for you, if that fails, beg someone to do it for you, if that fails, give up or attempt it and give up later because you didn't learn the basics. Gnome saiyan?
100% True

Quote:
Originally Posted by shadowman123 View Post
thats Right ... we shouldnt give ourselves copyright of things that we havent done if so thats called theft

@abdomatrix what conquerinjector do u use ?
Ahmed Zero 's One

that is the one that i tried to figure out how it work
and tried first to copy the same codes and tries to add more freatures in it