Чтение памяти процесса
Собственно через ольгу посмотрел адрес и прочитал сколько нужно, тут вроде всё понятно.
ReadProcessMemory(int hProcess, int lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesRead);Но после перезапуска приложения адрес меняется, чекать каждый раз руками не вариант, как быть? |
Re: Чтение памяти процесса
Никак. Память читается по виртуальным адресам, а не физическим. В каждом новом процессе месторасположение нужных данных - будет меняться.
Можно сканировать память процесса на наличие нужных бинарных паттернов и таким образом определять требуемый адрес. Как пример, но для посикса (когда-то давно писал, тащемта, в винде даже удобнее должно быть, без всяких ptrace): Код:
void processScanMemory(pid_t pid, address_t ** addresses, int count) { |
Re: Чтение памяти процесса
Смотря какое значение, если это к примеру деньги в игре, они находятся в какой-то структуре, эта структура создается кем-то. Можно найти статический адресс и от него отталкиватся, чтобы менять значение денег. К примеру:
PHP код:
|
Текущее время: 00:05. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot