Ошибка чтения адреса с помощью функции ReadProcessMemory c # - PullRequest
0 голосов
/ 08 июня 2019

У меня ошибка с чтением адреса памяти игры, где: мой код такой

public partial class MainWindow: Window
    {
        [DllImport ("kernel32.dll")]
        public static extern IntPtr OpenProcess (int dwDesiredAccess, bool bInheritHandle, int dwProcessId);

        [DllImport ("kernel32.dll")]
        public static extern bool ReadProcessMemory (int hProcess, int lpBaseAddress, byte [] lpBuffer, int dwSize, ref int lpNumberOfBytesRead);
        const int PROCESS_WM_READ = 0x0010;

        public MainWindow ()
        {
            arguments dir = new arguments ();
            Process process = Process.GetProcessesByName (dir.proccessname) [0];
            IntPtr processHandle = OpenProcess (PROCESS_WM_READ, false, process.Id);
            int bytesRead = 0;
            byte [] buffer = new byte [4]; 
            ReadProcessMemory ((int) processHandle, dir.heal_Act, buffer, buffer.Length, ref bytesRead);
        }

однако ничего не читается: в чит-движке читайте мне значения

Читайте адрес с помощью Cheat Engine Где на изображении появляетсячтение адреса памяти и, наконец, значение, содержащее 4 байта размером чтение адреса с помощью Cheat Engine Кроме того, я не знаю, как происходит суммирование адреса, как показано во вставке 2, для получения содержимогозначение.они могли бы помочь мне предложить чтение с указанным адресом, так как появляется ноль.

...