UnrealSkill-VIP
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[Source] GHOSTS MEMORY CLASS [1.0] - C#

Ir em baixo

[Source] GHOSTS MEMORY CLASS [1.0] - C# Empty [Source] GHOSTS MEMORY CLASS [1.0] - C#

Mensagem por uNreal 2/7/2020, 03:41

Código:
class CC
    {
        private static string ProcName = "";
        private static IntPtr pHandle = IntPtr.Zero;
        [System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError = true)]
        static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, int nSize, out IntPtr lpNumberOfBytesWritten);
        [System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError = true)]
        static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [System.Runtime.InteropServices.Out] byte[] lpBuffer, int dwSize, out IntPtr lpNumberOfBytesRead);

        public static string ProcessName
        { get { return ProcName; } set { if (System.Diagnostics.Process.GetProcessesByName(value).Length != 0) { pHandle = System.Diagnostics.Process.GetProcessesByName(value)[0].Handle; ProcName = value; } else { System.Windows.Forms.MessageBox.Show(value + "\n\n      Not Found!", "Error:"+value, System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); ProcName = ""; } } }

        public class Write
        {
            public static void _Int16(Int64 Address, Int16 Value)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt;
                    WriteProcessMemory(pHandle, new IntPtr(Address), BitConverter.GetBytes(Value), sizeof(Int16), out retByt);
                }
            }
            public static void _Int32(Int64 Address, Int32 Value)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt;
                    WriteProcessMemory(pHandle, new IntPtr(Address), BitConverter.GetBytes(Value), sizeof(Int32), out retByt);
                }
            }
            public static void _Int64(Int64 Address, Int64 Value)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt;
                    WriteProcessMemory(pHandle, new IntPtr(Address), BitConverter.GetBytes(Value), sizeof(Int64), out retByt);
                }
            }
            public static void _Float(Int64 Address, Single Float)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt;
                    WriteProcessMemory(pHandle, new IntPtr(Address), BitConverter.GetBytes(Float), sizeof(Single), out retByt);
                }
            }
            public static void _String(Int64 Address, String Value)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt;
                    WriteProcessMemory(pHandle, new IntPtr(Address), ASCIIEncoding.ASCII.GetBytes(Value), sizeof(Int64), out retByt);
                }
            }
            public static void _Bytes(Int64 Address, Byte[] Value)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt;
                    WriteProcessMemory(pHandle, new IntPtr(Address), Value, Value.Length, out retByt);
                }
            }
        }
        public class Read
        {
            public static Int16 _Int16(Int64 Address)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt; Byte[] buffer = new Byte[sizeof(Int16)];
                    ReadProcessMemory(pHandle, new IntPtr(Address), buffer, sizeof(Int16), out retByt);
                    return BitConverter.ToInt16(buffer, 0);
                }
                else return 0;
            }
            public static Int32 _Int32(Int64 Address)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt; Byte[] buffer = new Byte[sizeof(Int32)];
                    ReadProcessMemory(pHandle, new IntPtr(Address), buffer, sizeof(Int32), out retByt);
                    return BitConverter.ToInt32(buffer, 0);
                }
                else return 0;
            }
            public static Int64 _Int64(Int64 Address)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt; Byte[] buffer = new Byte[sizeof(Int64)];
                    ReadProcessMemory(pHandle, new IntPtr(Address), buffer, sizeof(Int64), out retByt);
                    return BitConverter.ToInt64(buffer, 0);
                }
                else return 0;
            }
            public static Single _Float(Int64 Address)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt; Byte[] buffer = new Byte[sizeof(Single)];
                    ReadProcessMemory(pHandle, new IntPtr(Address), buffer, sizeof(Single), out retByt);
                    return BitConverter.ToSingle(buffer, 0);
                }
                else return 0;
            }
            public static String _String(Int64 Address, Int32 _Length)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt; Byte[] buffer = new Byte[_Length];
                    ReadProcessMemory(pHandle, new IntPtr(Address), buffer, _Length, out retByt);
                    return ASCIIEncoding.ASCII.GetString(buffer);
                }
                else return "";
            }
            public static Byte[] _Bytes(Int64 Address, Int32 _Size)
            {
                if (System.Diagnostics.Process.GetProcessesByName(ProcName).Length != 0)
                {
                    IntPtr retByt; Byte[] buffer = new Byte[_Size];
                    ReadProcessMemory(pHandle, new IntPtr(Address), buffer, _Size, out retByt);
                    return buffer;
                }
                else return new byte[0];
            }
        }
    }

Features
Set process name
Built-in error
Write/Read
-Int16 (2 bytes)
-Int32 (4 bytes)
-Int64 (8 bytes)
-Float ("Float")
-String (Byte array)
uNreal
uNreal
ADM
ADM


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão neste fórum:
Você não pode responder aos tópicos neste fórum