RieqyNS13 icon

Untitled

RieqyNS13 | PRO | 07/07/15 06:48:32 AM UTC | 0 ⭐ | 643 👁️ | Never ⏰ | []
C# |

3.49 KB

|

None

|

0 👍

/

0 👎

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Globalization;
class mem {
    //value enum cari dari sini https://msdn.microsoft.com/en-us/library/windows/desktop/ms684880(v=vs.85).aspx
    //[Flags]
    public enum ProcessAccessType : uint
    {
        PROCESS_TERMINATE = (0x0001),
        PROCESS_CREATE_THREAD = (0x0002),
        PROCESS_SET_SESSIONID = (0x0004),
        PROCESS_VM_OPERATION = (0x0008),
        PROCESS_VM_READ = (0x0010), PROCESS_VM_WRITE = (0x0020),
        PROCESS_DUP_HANDLE = (0x0040),
        PROCESS_CREATE_PROCESS = (0x0080),
        PROCESS_SET_QUOTA = (0x0100),
        PROCESS_SET_INFORMATION = (0x0200),
        PROCESS_QUERY_INFORMATION = (0x0400)
    }
 
    //const string pointerrecuk = "033E6E78";
    const uint pointerrecuk = 0x033E6E78;
    const uint pointerrecuk2 = 0x00A1C658;
    const uint offset_pointerrecuk2 = 0x5F8A;
    [DllImport("kernel32.dll")]
    public static extern IntPtr OpenProcess(UInt32 dwDesiredAccess, Int32 bInheritHandle, UInt32 dwProcessId);
 
    [DllImport("kernel32.dll")]
    public static extern Int32 CloseHandle(IntPtr hObject);
 
    [DllImport("kernel32.dll")]
    public static extern Int32 ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, UInt32 size, out int lpNumberOfBytesRead);
 
    [DllImport("kernel32.dll")]
    public static extern Int32 WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, UInt32 size, out int lpNumberOfBytesWritten);
 
    public static void Main() {
        try {
            bool x = false;
            Process[] proc;
            while(true) {
                proc = Process.GetProcessesByName("game");
                if(proc.Length == 0 && !x) {
                    Console.WriteLine("menunggu game.exe dibuka");
                    x = true;
                }else if(proc.Length > 0) {
                    Console.WriteLine("Opened. pid : "+proc[0].Id);
                    try { Console.WriteLine("BaseAddress : "+proc[0].MainModule.BaseAddress); }catch { }
                    break;
                }
            }
 
            ProcessAccessType akses = ProcessAccessType.PROCESS_VM_READ | ProcessAccessType.PROCESS_VM_WRITE | ProcessAccessType.PROCESS_VM_OPERATION;
            IntPtr prosesHandle = mem.OpenProcess((uint)akses, 0, (uint)proc[0].Id);
            int bytesRead;
            byte[] buffer = new byte[256];
            //--Untuk pointer 1--//
            
            int tmpAddress = 0;
            int maxhp = 157288192;
            new Thread(() => {
                while(true) {
                    //mem.ReadProcessMemory(prosesHandle, (IntPtr)decPointer, buffer, 4, out bytesRead);
                    mem.ReadProcessMemory(prosesHandle, (IntPtr)pointerrecuk, buffer, 4, out bytesRead);
                    tmpAddress = BitConverter.ToInt32(buffer,0);
                    //Console.WriteLine(prosesHandle.ToString()+" "+tmpAddress.ToString());
                    if(tmpAddress>0 && tmpAddress<maxhp) {
                        Console.WriteLine(tmpAddress.ToString()+" > "+maxhp.ToString());
                        byte[] cuk = BitConverter.GetBytes(maxhp);
                        mem.WriteProcessMemory(prosesHandle, (IntPtr)pointerrecuk, cuk, (UInt32)cuk.Length, out bytesRead);
                    }
                    Thread.Sleep(250);
                }
            }).Start();
            
            ///////////
 
            //--Untuk offset 2--//
            /*byte[] nop ={ 0x90, 0x90, 0x90, 0x90, 0x90 };
 
            mem.ReadProcessMemory(prosesHandle, (IntPtr)pointerrecuk2, buffer, 6, out bytesRead);
            uint totalcuk = (uint)BitConverter.ToInt32(buffer, 0)+offset_pointerrecuk2;
            Console.WriteLine(totalcuk.ToString());
            mem.WriteProcessMemory(prosesHandle, (IntPtr)totalcuk, nop, (UInt32)nop.Length, out bytesRead);*/
            
            //------------------//
        
            //mem.CloseHandle(prosesHandle);
        }
        catch(Exception e) {
            Console.WriteLine(e.ToString());
        }
    }
 
    
}

Comments