我有一个小函数,它struct
作为参数给出。的struct
容貌是这样的:
struct my_struct {
short a;
unsigned int b;
unsigned int c;
};
考虑到对齐,我struct
在 IDA 中构建了以下内容:
field_0 +0x0
field_1 +0x4
field_2 +0x8
编译器构建它,使其rbp+0x10
作为 中的第一个字段struct
,rbp+0x14
作为第二个字段,依此类推。现在出现了问题,因为如果我尝试将预定义的 IDAstruct
应用于指令,我总是得到类似[rbp+struct.field_0+0x10]
. 如果我的结构中实际上有一些东西,这会变得更加复杂+0x10
,因为它只是显示[rbp+struct_fieldX]
(这是错误的)。
问题是:有没有办法告诉 IDA(我使用 6.3)应用struct
偏移量为0x10
?
这个简单案例的肮脏技巧是为and创建一个struct
具有 2 个size_t
虚拟字段的,但这似乎不是正确的方法。RIP
SFP