C# Чтение памяти (Нужна помощь)

Пользователь
Статус
Оффлайн
Регистрация
10 Фев 2017
Сообщения
195
Реакции[?]
42
Поинты[?]
0
Всем привет, посмотрел тут гайд, чел вписывал в память через WriteProcessMemory мне же нужно просто прочитать через ReadProcessMemory, второй час бьюсь, сделать не могу, вроде и то смотрел, и се, но не возвращает значение...
Вроде должно быть так, что в read после успешного выполнения должно появиться значение 568973760 (через cheatEngine смотрел), но после выполнения, там значение 0. Нужно как-то фиксить, а как не знаю
C#:
public void ReadBytes()
        {
            byte[] read = {};
            var localPlayer = 0xC5E87C;
            var dummy = new IntPtr();

            var handle = OpenProcess(0x001F0FFF, false, pID); //открываем процесс
            ReadProcessMemory(handle, (IntPtr)localPlayer, read, sizeof(int), out dummy);
            CloseHandle(handle); //закрываем процесс
        }
Вот сама функция чтения
Функция выше вызывается сразу, как получил id процесса

C#:
[DllImport("kernel32.dll", SetLastError = true)]
        static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer, int dwSize, out IntPtr lpNumberOfBytesRead); //функция для чтения
Айди и имя процесса cs go приходит нормально без ошибок, а вот с чтением проблемы...
Кто знает, помогите пожалуйста =)
 
Участник
Статус
Оффлайн
Регистрация
15 Апр 2017
Сообщения
396
Реакции[?]
194
Поинты[?]
0
Тебе нужно брать базовый адресс модуля(в твоем случае client_panorama.dll) из которого ты хочешь что то считать, и уже к нему прибавлять твое смещение(localPlayer)
 
Сверху Снизу