Need help to edit max FPs

02/28/2012 22:20 hellblayd#1
I've been looking around on a lot of forums, and I'm looking for a guide that shows how to make the max FPs on conquer 50 or 60. Anyway, anything more then 40 really lol.
The patch is 5530. (If that matters).

Hopefully I get some help xD
I'd be grateful. o.o
02/28/2012 22:39 I don't have a username#2
Search, it has been asked so many times.
02/28/2012 22:48 hellblayd#3
Quote:
Originally Posted by I don't have a username View Post
Search, it has been asked so many times.
I have been searching lol, I was looking through a lot of posts on this forum... But I can't find anything :/

Can you give me keywords to search for?

The ones I used didn't give me any luck... All I got were multi client guides... and they didn't work for changing the max FPs. :/
02/28/2012 22:55 F i n c h i#4
Open up Conquer.exe or your executable with OllyDBG and search for it.
02/28/2012 22:57 hellblayd#5
Quote:
Originally Posted by F i n c h i View Post
Open up Conquer.exe or your executable with OllyDBG and search for it.
xD Well, I know that much but I don't know what to change... I'm not good with this kinda stuff. That's why I've been searching for a guide. :handsdown:
02/28/2012 22:59 _DreadNought_#6
Okay, go into olydbg search for all calls, search sleep, then edit all the 19'd to whatever you want, something along those lines.
02/28/2012 23:01 hellblayd#7
Quote:
Originally Posted by _DreadNought_ View Post
Okay, go into olydbg search for all calls, search sleep, then edit all the 19'd to whatever you want, something along those lines.
I'll try it, thanks :)

Quote:
Originally Posted by _DreadNought_ View Post
Okay, go into olydbg search for all calls, search sleep, then edit all the 19'd to whatever you want, something along those lines.
Well, shoot that didn't do anything but change the spacing between Fps: and the numbers. D=

Edit: LOL NVM I PULLED A BRAIN FART LOL Let me redo this xD
02/28/2012 23:19 m7mdxlife#8
[Only registered and activated users can see links. Click Here To Register...]
02/28/2012 23:33 hellblayd#9
Quote:
Originally Posted by m7mdxlife View Post
[Only registered and activated users can see links. Click Here To Register...]
Oh, thank you! xD I'm going to save this link in my e-mail now lol.:handsdown::handsdown:
02/29/2012 00:10 _DreadNought_#10
Okay so you want be totally pro with changing the fps? Change it programatically. (H)

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        [DllImport("kernel32.dll")]
        static extern int ResumeThread(IntPtr hThread);

        [DllImport("kernel32.dll")]
        static extern int SuspendThread(IntPtr hThread);

        [DllImport("kernel32.dll")]
        static extern IntPtr OpenThread(ThreadAccess dwDesiredAccess,
            bool bInheritHandle,
            uint dwThreadId
        );

        [Flags]
        public enum ThreadAccess : int
        {
            TERMINATE = (0x0001),
            SUSPEND_RESUME = (0x0002),
            GET_CONTEXT = (0x0008),
            SET_CONTEXT = (0x0010),
            SET_INFORMATION = (0x0020),
            QUERY_INFORMATION = (0x0040),
            SET_THREAD_TOKEN = (0x0080),
            IMPERSONATE = (0x0100),
            DIRECT_IMPERSONATION = (0x0200)
        }

        public Form1()
        {
            InitializeComponent();
            this.Visible = false;
            if (File.Exists(Application.StartupPath + "\\Conquer.exe"))
            {
                ProcessStartInfo PSI = new ProcessStartInfo();
                PSI.FileName = ("Conquer.exe");
                PSI.Arguments = ("blacknull");
                PSI.WorkingDirectory = Application.StartupPath;
                Process d = new Process();
                d.StartInfo = PSI;
                d.Start();
                d.WaitForInputIdle();
                pid = d.Id;
                FreezeThreads(pid);
                this.Visible = true;
            }
            else
            {
                MessageBox.Show("Error: Cannot find Conquer.exe | Please make sure this program is placed in your Conquer Directory!");
                kill();
            }
        }
        public void kill()
        {
            Process.GetCurrentProcess().Kill();
        }
        private IntPtr hProcess;
        int pid;
        public void FreezeThreads(int intPID)
        {
            Process pProc = Process.GetProcessById(intPID);

            if (pProc.ProcessName == "")
                return;

            foreach (ProcessThread pT in pProc.Threads)
            {
                IntPtr ptrOpenThread = OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)pT.Id);

                if (ptrOpenThread == null)
                    break;

                SuspendThread(ptrOpenThread);
            }
        }
        public void UnfreezeThreads(int intPID)
        {
            Process pProc = Process.GetProcessById(intPID);

            if (pProc.ProcessName == "")
                return;

            foreach (ProcessThread pT in pProc.Threads)
            {
                IntPtr ptrOpenThread = OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)pT.Id);

                if (ptrOpenThread == null)
                    break;

                ResumeThread(ptrOpenThread);
            }
        }

        public void WeWriteProcessMemory(ushort fps)
        {
            FetchID("Conquer");
            IntPtr a1 = (IntPtr)0x004B9F1C;//3
            IntPtr BytesWritten = IntPtr.Zero;
            IntPtr a2 = (IntPtr)0x004B9F12;//a
            byte[] buf = new byte[] { 0x00 };
            byte[] buf2 = new byte[] { 0x00 };
            if (fps == 80)
            {
                buf = new byte[] { 0x07 };
                buf2 = new byte[] { 0x07 };
            }
            else if (fps == 60)
            {
                buf = new byte[] { 0x10 };
                buf2 = new byte[] { 0x10 };
            }
            else//40
            {
                buf = new byte[] { 0x09 };
                buf2 = new byte[] { 0x09 };
            }

            Kernel32.WriteProcessMemory(hProcess, a1, buf, (uint)buf.Length, BytesWritten);
            Kernel32.WriteProcessMemory(hProcess, a2, buf2, (uint)buf2.Length, BytesWritten);

            UnfreezeThreads(pid);
            Application.Exit();
        }
        private bool FetchID(string Name)
        {
            Process[] Processes = Process.GetProcessesByName(Name);
            if (Processes.Length == 0)
                return false;

            hProcess = Kernel32.OpenProcess(0x1F0FFF, 1, Processes[0].Id);
            if (hProcess == IntPtr.Zero)
            {
                MessageBox.Show("OpenProcess(0x1F0FFF, 1, ID) failed with following error: " + Marshal.GetLastWin32Error());
                return false;
            }

            return true;
        }

        private void button3_Click(object sender, EventArgs e)//40 FPS
        {
            WeWriteProcessMemory(40);
        }
        private void button2_Click(object sender, EventArgs e)//60 FPS
        {
            WeWriteProcessMemory(60);
        }
        private void button1_Click(object sender, EventArgs e)//80 FPS
        {
            WeWriteProcessMemory(80);
        }
    }

    public class Kernel32
    {

        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, IntPtr lpNumberOfBytesWritten);

        [DllImport("Kernel32.dll")]
        public static extern IntPtr OpenProcess(UInt32 dwDesiredAccess, Int32 bInheritHandle, Int32 dwProcessId);
    }
}
Okay pro or pro?
02/29/2012 00:17 hellblayd#11
Quote:
Originally Posted by _DreadNought_ View Post
Okay so you want be totally pro with changing the fps? Change it programatically. (H)

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        [DllImport("kernel32.dll")]
        static extern int ResumeThread(IntPtr hThread);

        [DllImport("kernel32.dll")]
        static extern int SuspendThread(IntPtr hThread);

        [DllImport("kernel32.dll")]
        static extern IntPtr OpenThread(ThreadAccess dwDesiredAccess,
            bool bInheritHandle,
            uint dwThreadId
        );

        [Flags]
        public enum ThreadAccess : int
        {
            TERMINATE = (0x0001),
            SUSPEND_RESUME = (0x0002),
            GET_CONTEXT = (0x0008),
            SET_CONTEXT = (0x0010),
            SET_INFORMATION = (0x0020),
            QUERY_INFORMATION = (0x0040),
            SET_THREAD_TOKEN = (0x0080),
            IMPERSONATE = (0x0100),
            DIRECT_IMPERSONATION = (0x0200)
        }

        public Form1()
        {
            InitializeComponent();
            this.Visible = false;
            if (File.Exists(Application.StartupPath + "\\Conquer.exe"))
            {
                ProcessStartInfo PSI = new ProcessStartInfo();
                PSI.FileName = ("Conquer.exe");
                PSI.Arguments = ("blacknull");
                PSI.WorkingDirectory = Application.StartupPath;
                Process d = new Process();
                d.StartInfo = PSI;
                d.Start();
                d.WaitForInputIdle();
                pid = d.Id;
                FreezeThreads(pid);
                this.Visible = true;
            }
            else
            {
                MessageBox.Show("Error: Cannot find Conquer.exe | Please make sure this program is placed in your Conquer Directory!");
                kill();
            }
        }
        public void kill()
        {
            Process.GetCurrentProcess().Kill();
        }
        private IntPtr hProcess;
        int pid;
        public void FreezeThreads(int intPID)
        {
            Process pProc = Process.GetProcessById(intPID);

            if (pProc.ProcessName == "")
                return;

            foreach (ProcessThread pT in pProc.Threads)
            {
                IntPtr ptrOpenThread = OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)pT.Id);

                if (ptrOpenThread == null)
                    break;

                SuspendThread(ptrOpenThread);
            }
        }
        public void UnfreezeThreads(int intPID)
        {
            Process pProc = Process.GetProcessById(intPID);

            if (pProc.ProcessName == "")
                return;

            foreach (ProcessThread pT in pProc.Threads)
            {
                IntPtr ptrOpenThread = OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)pT.Id);

                if (ptrOpenThread == null)
                    break;

                ResumeThread(ptrOpenThread);
            }
        }

        public void WeWriteProcessMemory(ushort fps)
        {
            FetchID("Conquer");
            IntPtr a1 = (IntPtr)0x004B9F1C;//3
            IntPtr BytesWritten = IntPtr.Zero;
            IntPtr a2 = (IntPtr)0x004B9F12;//a
            byte[] buf = new byte[] { 0x00 };
            byte[] buf2 = new byte[] { 0x00 };
            if (fps == 80)
            {
                buf = new byte[] { 0x07 };
                buf2 = new byte[] { 0x07 };
            }
            else if (fps == 60)
            {
                buf = new byte[] { 0x10 };
                buf2 = new byte[] { 0x10 };
            }
            else//40
            {
                buf = new byte[] { 0x09 };
                buf2 = new byte[] { 0x09 };
            }

            Kernel32.WriteProcessMemory(hProcess, a1, buf, (uint)buf.Length, BytesWritten);
            Kernel32.WriteProcessMemory(hProcess, a2, buf2, (uint)buf2.Length, BytesWritten);

            UnfreezeThreads(pid);
            Application.Exit();
        }
        private bool FetchID(string Name)
        {
            Process[] Processes = Process.GetProcessesByName(Name);
            if (Processes.Length == 0)
                return false;

            hProcess = Kernel32.OpenProcess(0x1F0FFF, 1, Processes[0].Id);
            if (hProcess == IntPtr.Zero)
            {
                MessageBox.Show("OpenProcess(0x1F0FFF, 1, ID) failed with following error: " + Marshal.GetLastWin32Error());
                return false;
            }

            return true;
        }

        private void button3_Click(object sender, EventArgs e)//40 FPS
        {
            WeWriteProcessMemory(40);
        }
        private void button2_Click(object sender, EventArgs e)//60 FPS
        {
            WeWriteProcessMemory(60);
        }
        private void button1_Click(object sender, EventArgs e)//80 FPS
        {
            WeWriteProcessMemory(80);
        }
    }

    public class Kernel32
    {

        [DllImport("kernel32.dll", SetLastError = true)]
        public static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, IntPtr lpNumberOfBytesWritten);

        [DllImport("Kernel32.dll")]
        public static extern IntPtr OpenProcess(UInt32 dwDesiredAccess, Int32 bInheritHandle, Int32 dwProcessId);
    }
}
Okay pro or pro?
Lol, you trying to fry my little brain? xD I have no idea what I'd do with that or how... D=
03/01/2012 11:58 I don't have a username#12
Still not got it working or?
03/01/2012 15:28 hellblayd#13
Quote:
Originally Posted by I don't have a username View Post
Still not got it working or?
Nah, I don't xD But I figured out how I think it's just the private servers one I play lol. I did the conquer.exe that didn't work so I tried the conquerloader and play exe's but it didn't work.
03/01/2012 17:22 m7mdxlife#14
Quote:
Originally Posted by hellblayd View Post
Nah, I don't xD But I figured out how I think it's just the private servers one I play lol. I did the conquer.exe that didn't work so I tried the conquerloader and play exe's but it didn't work.
Upload their exe and i'll do it for you.