sqrtsben
2013-11-20 18:57:47 UTC
パラメータとして struct
が指定された小さな関数があります。 struct
は次のようになります。
struct my_struct {short a; unsigned int b; unsigned int c;};
配置に注意して、IDAで次の struct
を作成します。
field_0 + 0x0field_1 + 0x4field_2 + 0x8
コンパイラは、 struct
、 rbp + 0x10
を使用するようにビルドします。 > rbp + 0x14 を2番目になど。事前定義されたIDA struct
を命令に適用しようとすると、常に [rbp + struct.field_0 + 0x10]
のようなものが表示されるために問題が発生します。 + 0x10
の構造体に実際に何かがある場合、これはさらに複雑になります。これは、 [rbp + struct_fieldX]
のみが表示されるためです(これは間違っています)。
質問は次のとおりです。 IDA(6.3を使用)に 0x10
のオフセットで struct
を適用するように指示する方法はありますか?
この単純なケースの汚いトリックは、 RIP code用に2つの
size_t
ダミーフィールドを持つ struct
を作成することです。 >と SFP
ですが、ここに行くには正しい方法ではないようです。