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
編譯器對其進行構建,以使其將 rbp + 0x10
作為 struct
, rbp + 0x14
作為第二個,依此類推。現在出現問題是因為,如果我嘗試將預定義的IDA struct
應用於指令,我總是會得到類似 [rbp + struct.field_0 + 0x10]
的信息。如果我的結構中實際上在 + 0x10
處,這會變得更加複雜,因為那樣的話,它只會顯示 [rbp + struct_fieldX]
(這是錯誤的)。
問題是:有沒有辦法告訴IDA(我正在使用6.3)應用偏移量為 0x10
的 struct
?
這種簡單情況的骯髒技巧是創建一個 struct
,該結構具有2個 size_t
虛擬字段用於 RIP
和 SFP
,但這似乎並不是正確的選擇。