2011-08-27 34 views
5

スコアなどのソリティアの値を変更しようとしています。ベースアドレス+オフセットを追加する値を追加する

とにかく私が指し示すアドレス(CheatEngineを使用して)が見つかりましたが、スコアを修正するためのコードを注入するのが難しいです。私はそれが基本値にオフセットを追加する方法であり、Windows DEP、注入方法、またはその他のものを追加する方法であるとはほとんど確信しています。

ここに私が使用しているコードがあります。

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


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

このコードを挿入すると、ゲームがクラッシュします。チートエンジンではなくコードで値を変更するとうまく動作します。

+0

'sOFFSET'はバイト単位または整数単位(DWORD)で表されていますか? –

+7

あなたはチートしようとしています... _Solitaire_で? – Nemo

+0

デバッガでプログラムを実行すると、デバッガが "クラッシュ"する方法の詳細が表示されます。 –

答えて

0

: 私はそのポインタが指すアドレスを見つけるために、ReadProcessMemory() APIを使用する必要がありました。そして、オフセットを追加します。

0

試してみてください。私は間違って何をやっていた

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