1

少し組み立て/分解を学ぼうとしています。基本的な Hello World C EXE (簡単な追加機能付き) を作成し、無料版の IDA に投入しました。

何が起こっているのかがわかります。明確にするために...次は何をしますか?

var_D8= dword ptr -0D8h
var_14= dword ptr -14h
var_8= dword ptr -8

3 つの DWORD 変数が表示されます。-0D8Hとは?-14H? -8? メモリアドレス?15 + 1を足すだけです。

申し訳ありませんが、IDAとアセンブリは初めてです。

ありがとうございました

4

1 に答える 1

3

IDA は、現在の関数のスタックを記述するための特別な構造を作成します。この構造体の場所のアドレスは、戻りアドレスからのオフセットです (これもスタックに保存され、スタック ビュー ウィンドウでは "r" として示されます)。そして、この定義はそれからの単純なオフセットです。コンパイラはスタックローカル変数に保存し、スタック上の変数の表現です。このトピックの詳細については、IDA Pro の書籍を参照してください。

于 2012-05-03T23:17:18.287 に答える