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

无论如何,我找到了指针指向的地址(使用 CheatEngine),但我很难注入(inject)代码来修改分数。我几乎可以肯定这是我将偏移量添加到基值的方式,而不是 Windows DEP、我的注入(inject)方法或其他任何方式。

这是我正在使用的代码。

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


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

每当我注入(inject)此代码时,我的游戏就会崩溃。如果我修改 Cheat Engine 中的值而不是代码中的值,则工作正常。

最佳答案

尝试:

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

关于c++ - 添加基地址 + 偏移量以修改值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7216072/

10-14 10:28