ОЗУ
Добавлено: 28 окт 2005, 19:19
Проблема, точнее задача:
1) Есть чужой процесс (например - игра)
2) У меня есть адресс в ОЗУ какойто переменной из этой игры (например 001A6469 , полученое с АртМонеи)
3) Как мне, в моей программе прочитать/записать туда своё значение!?
***
+) Есть Handle на нужный мне процесс,
+) ReadProcessMemory() Постоянно return FALSE!
Мне еще не ясно, откуда можно получить lpBaseAddress ( Pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access. If this is the case, the function proceeds; otherwise, the function fails.)
Мне кажется что ето изза доступа он постоянно return FALSE, там он часто упоминается, в таком случая я смотрел:
Тутже возникает вопрос, откуда получить lpAddress ?!
PS Я уже перерыл гигабайты MSDN с 2001-2005 года, мне реально необходива ваш совет.
Заранее благодарен.
1) Есть чужой процесс (например - игра)
2) У меня есть адресс в ОЗУ какойто переменной из этой игры (например 001A6469 , полученое с АртМонеи)
3) Как мне, в моей программе прочитать/записать туда своё значение!?
***
+) Есть Handle на нужный мне процесс,
+) ReadProcessMemory() Постоянно return FALSE!
Код: Выделить всё
BOOL ReadProcessMemory(
HANDLE hProcess,
LPCVOID lpBaseAddress,
LPVOID lpBuffer,
SIZE_T nSize,
SIZE_T* lpNumberOfBytesRead
) ;
Мне кажется что ето изза доступа он постоянно return FALSE, там он часто упоминается, в таком случая я смотрел:
Код: Выделить всё
BOOL VirtualProtectEx(
HANDLE hProcess,
LPVOID lpAddress,
SIZE_T dwSize,
DWORD flNewProtect,
PDWORD lpflOldProtect
);
PS Я уже перерыл гигабайты MSDN с 2001-2005 года, мне реально необходива ваш совет.
Заранее благодарен.