Добавление базового адреса + смещения для изменения значения - PullRequest
4 голосов
/ 27 августа 2011

Я пытаюсь изменить значение для пасьянса, например, счет.

В любом случае я нашел адреса (используя CheatEngine), на которые указывают указатели, но мне сложно ввести код для изменения счета.,Я почти уверен, что я добавляю смещения к базовому значению, а не Windows DEP, мой метод ввода или что-то еще.

Вот код, который я использую.

#define BASE    0xFFAEAFA8
#define fOFFSET 0x50
#define sOFFSET 0x14
#define VALUE   55555


*(int*)(((*(int*) BASE) + fOFFSET) + sOFFSET) = VALUE;

Всякий раз, когда я внедряю этот код, моя игра вылетает.Работает нормально, если я изменяю значения в Cheat Engine, но не в коде.

Ответы [ 2 ]

0 голосов
/ 20 октября 2011

Что я делал не так: мне нужно было использовать ReadProcessMemory() API, чтобы найти адрес, на который указывает указатель.А затем добавьте смещения.

0 голосов
/ 12 октября 2011

попробовать:

volatile int * pScore = (int*)( BASE + fOFFSET + sOFFSET );
*pScore = VALUE;
...