関連するアセンブリ:
$ > 94D3A705 PUSH hw.05A7D394 ; ASCII "glBegin"
$+5 > E8 99C80500 CALL <JMP.&SDL2.SDL_GL_GetProcAddress>
$+A > 83C4 04 ADD ESP,4
$+D > A3 04E03B06 MOV DWORD PTR DS:[63BE004],EAX
$+12 > 8B0D 04E03B06 MOV ECX,DWORD PTR DS:[63BE004] ; OPENGL32.glBegin
$+18 > 890D 38E83B06 MOV DWORD PTR DS:[63BE838],ECX
最初の行は、文字列アドレスを関数の引数としてスタックにプッシュします。そして最後の行は、ECX からこの DWORD データ オブジェクトに値をコピーします。この住所が私の目標です。含まれている DWORD 値を置き換えたい。
私の C++ コードでは、最初の行のプッシュ関数のアドレスを取得してから、オフセットを追加します。オフセット 0x1A を追加するとコードは機能しますが、+ 0x18 を追加しようとすると機能しません。
すべての機能についてこれをテストするのは好きではありません。私が見逃している根本的な考えは何ですか?