添加基址+偏移量以修改值

时间:2011-08-27 17:12:44

标签: c++ offset object-address

我正在尝试修改Solitaire的值,例如得分。

无论如何,我发现了指针指向的地址(使用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 :(得分:0)

尝试:

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

答案 1 :(得分:0)

我做错了什么: 我需要使用ReadProcessMemory() API来查找指针指向的地址。然后添加偏移量。