0

初めてコードを挿入しようとしていますが、基本的にこれまでのところすべてが機能しています..しかし問題は、プログラムを実行してメソッド MessageBoxA() を呼び出すと、アクセス違反が発生することです。

問題は、ESI cpu レジスタに有効な値がないことです。

MessageBoxA() が呼び出す

 PUSH DWORD PTR DS:[ESI-5]

呼ばれた直後。このエラーが発生しないようにするには、ESI に何を保存する必要がありますか? このメソッドの引数をスタックにプッシュしたので、この命令が何を求めているのかわかりません..

さらに情報が必要な場合は、お知らせください。

ありがとうございました。


編集

プログラムの最初の命令が私のコードにジャンプします。MessageBoxA を呼び出した後、標準プログラムに戻ります (現時点では問題ありません)。

ここに画像の説明を入力

ここに、MessageBoxA を呼び出した後のプログラムの動作を示します。すでに 3 番目の命令で問題が発生しています。

ここに画像の説明を入力

これが役立つことを願っています^^

4

0 に答える 0