Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Conquer Online 2 > CO2 Exploits, Hacks & Tools
You last visited: Today at 16:16

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

Advertisement



Evolution-SH [Speed hack/FPS Unlocker]

Discussion on Evolution-SH [Speed hack/FPS Unlocker] within the CO2 Exploits, Hacks & Tools forum part of the Conquer Online 2 category.

Closed Thread
 
Old 09/06/2012, 20:35   #61
 
zath's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 48
Received Thanks: 6
Haven't tested, goodjob on it tho.. they say C# is better against aimbotters, I can see that much... (sarcasm)
zath is offline  
Old 09/11/2012, 17:09   #62
 
elite*gold: 0
Join Date: Mar 2008
Posts: 34
Received Thanks: 2
Dosen`t work since patch 5652
pitaclon is offline  
Old 09/12/2012, 09:10   #63
 
elite*gold: 0
Join Date: Jul 2011
Posts: 12
Received Thanks: 1
Not Work it just opend at task manager and conquer not opened
ahsis90 is offline  
Old 09/12/2012, 16:43   #64
 
{ Angelius }'s Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 992
Received Thanks: 1,110
Updated to support the latest patch: 5652
{ Angelius } is offline  
Old 09/14/2012, 18:13   #65
 
elite*gold: 0
Join Date: May 2009
Posts: 16
Received Thanks: 0
Trash didn`t work
play_loud33 is offline  
Old 09/15/2012, 02:55   #66
 
elite*gold: 0
Join Date: Sep 2012
Posts: 43
Received Thanks: 12
Way to bring a section alive
Purple<3 is offline  
Old 09/15/2012, 16:57   #67
 
*M*'s Avatar
 
elite*gold: 0
Join Date: Apr 2007
Posts: 950
Received Thanks: 2,410
Quote:
Originally Posted by { Angelius } View Post
That's because the speed hack is made for English co only....
You could use a signature scan, then it will work on any exe/patch
*M* is offline  
Old 09/16/2012, 03:34   #68
 
{ Angelius }'s Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 992
Received Thanks: 1,110
Quote:
Originally Posted by *M* View Post
You could use a signature scan, then it will work on any exe/patch
Honestly... i think im gonna need a better search method to get the needed addresses before i even think about editing it to work with anything other than English co, and the reason why i didn't do that yet is.. that i don't think its worth it :P


@Everyone else

Yes its not working and i don't think that i am gonna update it anytime soon as i moved from a country to another... and i left my dear PC back there in jordan and all i got right now is a crappy PC and a laptop and i am not planing on downloading any of that programing stuff on any of them :P
{ Angelius } is offline  
Old 09/16/2012, 10:39   #69
 
*M*'s Avatar
 
elite*gold: 0
Join Date: Apr 2007
Posts: 950
Received Thanks: 2,410
Quote:
Originally Posted by { Angelius } View Post
Honestly... i think im gonna need a better search method to get the needed addresses before i even think about editing it to work with anything other than English co, and the reason why i didn't do that yet is.. that i don't think its worth it :P
A signature scan will just search for an array of bytes, these are usually the same in almost every build of Conquer ever compiled, so you would automatically support most/all patches/langauges, I'm not sure what langauge you use but have a look at this code

Code:
using System; 
using System.Collections.Generic; 
using System.Diagnostics; 
using System.Linq; 
using System.Runtime.InteropServices; 
using System.Text; 
using Microsoft.Win32.SafeHandles; 

// 
// sigScan C# Implementation - Written by atom0s [aka Wiccaan] 
// Class Version: 2.0.0 
// 
// [ CHANGE LOG ] ------------------------------------------------------------------------- 
// 
//      2.0.0 
//          - Updated to no longer require unsafe or fixed code. 
//          - Removed unneeded methods and code. 
// 
//      1.0.0 
//          - First version written and release. 
// 
// [ CREDITS ] ---------------------------------------------------------------------------- 
// 
// sigScan is based on the FindPattern code written by 
// dom1n1k and Patrick at GameDeception.net 
// 
// Full credit to them for the purpose of this code. I, atom0s, simply 
// take credit for converting it to C#. 
// 
// [ USAGE ] ------------------------------------------------------------------------------ 
// 
// Examples: 
// 
//      SigScan _sigScan = new SigScan(); 
//      _sigScan.Process = someProc; 
//      _sigScan.Address = new IntPtr(0x123456); 
//      _sigScan.Size = 0x1000; 
//      IntPtr pAddr = _sigScan.FindPattern(new byte[]{ 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x55, 0xFC, 0x11 }, "xxxx?xx?", 12);
// 
//      SigScan _sigScan = new SigScan(someProc, new IntPtr(0x123456), 0x1000); 
//      IntPtr pAddr = _sigScan.FindPattern(new byte[]{ 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x55, 0xFC, 0x11 }, "xxxx?xx?", 12);
// 
// ---------------------------------------------------------------------------------------- 
namespace SigScan.Classes 
{ 
    public class SigScan 
    { 
        /// <summary> 
        /// ReadProcessMemory 
        ///  
        ///     API import definition for ReadProcessMemory. 
        /// </summary> 
        /// <param name="hProcess">Handle to the process we want to read from.</param> 
        /// <param name="lpBaseAddress">The base address to start reading from.</param> 
        /// <param name="lpBuffer">The return buffer to write the read data to.</param> 
        /// <param name="dwSize">The size of data we wish to read.</param> 
        /// <param name="lpNumberOfBytesRead">The number of bytes successfully read.</param> 
        /// <returns></returns> 
        [DllImport("kernel32.dll", SetLastError = true)] 
        private static extern bool ReadProcessMemory( 
            IntPtr hProcess, 
            IntPtr lpBaseAddress, 
            [Out()] byte[] lpBuffer, 
            int dwSize, 
            out int lpNumberOfBytesRead 
            ); 

        /// <summary> 
        /// m_vDumpedRegion 
        ///  
        ///     The memory dumped from the external process. 
        /// </summary> 
        private byte[] m_vDumpedRegion; 

        /// <summary> 
        /// m_vProcess 
        ///  
        ///     The process we want to read the memory of. 
        /// </summary> 
        private Process m_vProcess; 

        /// <summary> 
        /// m_vAddress 
        ///  
        ///     The starting address we want to begin reading at. 
        /// </summary> 
        private IntPtr m_vAddress; 

        /// <summary> 
        /// m_vSize 
        ///  
        ///     The number of bytes we wish to read from the process. 
        /// </summary> 
        private Int32 m_vSize; 


        #region "sigScan Class Construction" 
        /// <summary> 
        /// SigScan 
        ///  
        ///     Main class constructor that uses no params.  
        ///     Simply initializes the class properties and  
        ///     expects the user to set them later. 
        /// </summary> 
        public SigScan() 
        { 
            this.m_vProcess = null; 
            this.m_vAddress = IntPtr.Zero; 
            this.m_vSize = 0; 
            this.m_vDumpedRegion = null; 
        } 
        /// <summary> 
        /// SigScan 
        ///  
        ///     Overloaded class constructor that sets the class 
        ///     properties during construction. 
        /// </summary> 
        /// <param name="proc">The process to dump the memory from.</param> 
        /// <param name="addr">The started address to begin the dump.</param> 
        /// <param name="size">The size of the dump.</param> 
        public SigScan(Process proc, IntPtr addr, int size) 
        { 
            this.m_vProcess = proc; 
            this.m_vAddress = addr; 
            this.m_vSize = size; 
        } 
        #endregion 

        #region "sigScan Class Private Methods" 
        /// <summary> 
        /// DumpMemory 
        ///  
        ///     Internal memory dump function that uses the set class 
        ///     properties to dump a memory region. 
        /// </summary> 
        /// <returns>Boolean based on RPM results and valid properties.</returns> 
        private bool DumpMemory() 
        { 
            try 
            { 
                // Checks to ensure we have valid data. 
                if (this.m_vProcess == null) 
                    return false; 
                if (this.m_vProcess.HasExited == true) 
                    return false; 
                if (this.m_vAddress == IntPtr.Zero) 
                    return false; 
                if (this.m_vSize == 0) 
                    return false; 

                // Create the region space to dump into. 
                this.m_vDumpedRegion = new byte[this.m_vSize]; 

                bool bReturn = false; 
                int nBytesRead = 0; 

                // Dump the memory. 
                bReturn = ReadProcessMemory( 
                    this.m_vProcess.Handle, this.m_vAddress, this.m_vDumpedRegion, this.m_vSize, out nBytesRead 
                    ); 

                // Validation checks. 
                if (bReturn == false || nBytesRead != this.m_vSize) 
                    return false; 
                return true; 
            } 
            catch (Exception ex) 
            { 
                return false; 
            } 
        } 

        /// <summary> 
        /// MaskCheck 
        ///  
        ///     Compares the current pattern byte to the current memory dump 
        ///     byte to check for a match. Uses wildcards to skip bytes that 
        ///     are deemed unneeded in the compares. 
        /// </summary> 
        /// <param name="nOffset">Offset in the dump to start at.</param> 
        /// <param name="btPattern">Pattern to scan for.</param> 
        /// <param name="strMask">Mask to compare against.</param> 
        /// <returns>Boolean depending on if the pattern was found.</returns> 
        private bool MaskCheck(int nOffset, byte[] btPattern, string strMask) 
        { 
            // Loop the pattern and compare to the mask and dump. 
            for (int x = 0; x < btPattern.Length; x++) 
            { 
                // If the mask char is a wildcard, just continue. 
                if (strMask[x] == '?') 
                    continue; 

                // If the mask char is not a wildcard, ensure a match is made in the pattern. 
                if ((strMask[x] == 'x') && (btPattern[x] != this.m_vDumpedRegion[nOffset + x])) 
                    return false; 
            } 

            // The loop was successful so we found the pattern. 
            return true; 
        } 
        #endregion 

        #region "sigScan Class Public Methods" 
        /// <summary> 
        /// FindPattern 
        ///  
        ///     Attempts to locate the given pattern inside the dumped memory region 
        ///     compared against the given mask. If the pattern is found, the offset 
        ///     is added to the located address and returned to the user. 
        /// </summary> 
        /// <param name="btPattern">Byte pattern to look for in the dumped region.</param> 
        /// <param name="strMask">The mask string to compare against.</param> 
        /// <param name="nOffset">The offset added to the result address.</param> 
        /// <returns>IntPtr - zero if not found, address if found.</returns> 
        public IntPtr FindPattern(byte[] btPattern, string strMask, int nOffset) 
        { 
            try 
            { 
                // Dump the memory region if we have not dumped it yet. 
                if (this.m_vDumpedRegion == null || this.m_vDumpedRegion.Length == 0) 
                { 
                    if (!this.DumpMemory()) 
                        return IntPtr.Zero; 
                } 

                // Ensure the mask and pattern lengths match. 
                if (strMask.Length != btPattern.Length) 
                    return IntPtr.Zero; 

                // Loop the region and look for the pattern. 
                for (int x = 0; x < this.m_vDumpedRegion.Length; x++) 
                { 
                    if (this.MaskCheck(x, btPattern, strMask)) 
                    { 
                        // The pattern was found, return it. 
                        return new IntPtr((int)this.m_vAddress + (x + nOffset)); 
                    } 
                } 

                // Pattern was not found. 
                return IntPtr.Zero; 
            } 
            catch (Exception ex) 
            { 
                return IntPtr.Zero; 
            } 
        } 

        /// <summary> 
        /// ResetRegion 
        ///  
        ///     Resets the memory dump array to nothing to allow 
        ///     the class to redump the memory. 
        /// </summary> 
        public void ResetRegion() 
        { 
            this.m_vDumpedRegion = null; 
        } 
        #endregion 

        #region "sigScan Class Properties" 
        public Process Process 
        { 
            get { return this.m_vProcess; } 
            set { this.m_vProcess = value; } 
        } 
        public IntPtr Address 
        { 
            get { return this.m_vAddress; } 
            set { this.m_vAddress = value; } 
        } 
        public Int32 Size 
        { 
            get { return this.m_vSize; } 
            set { this.m_vSize = value; } 
        } 
        #endregion 

    } 
}
*M* is offline  
Thanks
2 Users
Old 09/16/2012, 14:45   #70
 
{ Angelius }'s Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 992
Received Thanks: 1,110
Quote:
Originally Posted by *M* View Post
A signature scan will just search for an array of bytes, these are usually the same in almost every build of Conquer ever compiled, so you would automatically support most/all patches/langauges, I'm not sure what langauge you use but have a look at this code
That's exactly what i am doing but i was looking for a faster/better way and i am starting to think there is no better way to do it :P
{ Angelius } is offline  
Old 09/16/2012, 17:13   #71
 
*M*'s Avatar
 
elite*gold: 0
Join Date: Apr 2007
Posts: 950
Received Thanks: 2,410
Ah ok, what is making it get patched out then?

I'm not sure if there is a faster/efficient way, but it doesn't seem too slow unless you're running your scans on a timer.

What you can do(or may do already) is cache the addresses at the start of the app, so rather than run a signature scan on a timer or upon each funtion call wasting cpu cycles, you just scan each address once at the start of the app and cache them in a pubic int or whatever you want to use.
*M* is offline  
Old 09/23/2012, 03:01   #72
 
ksmoker's Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 52
Received Thanks: 7
Thanks.. cant belive its free
ksmoker is offline  
Old 09/23/2012, 04:16   #73
 
elite*gold: 0
Join Date: Nov 2008
Posts: 2
Received Thanks: 0
Thank you sir and *** Bless, ur so kind...
Beboy1992 is offline  
Old 09/25/2012, 11:24   #74
 
elite*gold: 0
Join Date: Aug 2012
Posts: 10
Received Thanks: 1
does not work on window 7
NatureForce11 is offline  
Old 09/26/2012, 10:37   #75
 
elite*gold: 0
Join Date: Aug 2012
Posts: 11
Received Thanks: 0
It works, you just have to run it as admin. I have win7 too and it works fine.
groom47 is offline  
Closed Thread


Similar Threads Similar Threads
High speed download Dragonica Evolution
11/02/2013 - Dragonica Private Server - 22 Replies
First : Download Internet Download Manager Internet Download Manager: the fastest download accelerator Install Internet Download Manager Then download the Dragonica Evolution Client http://178.63.41.206/DragonicaEvolution.rar



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


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