我在 IDA 处理器中添加了对类型信息处理的支持,现在use_regarg_type3
,我正在映射一个我知道是enum
. 但是,我不确定如何将imm
操作数设置为enum
,就像您按下 m 键并手动选择类型一样。
所以,我的问题是我调用什么函数来将 op 设置为 an enum
,以及如何从tinfo_t
我拥有的函数中获取任何需要的参数。
编辑 1
有一个op_enum
函数,但它想要enum_t
并且从tinfo_t
通过type.get_enum_base_type()
I get type_t
。
编辑 2
我有它工作使用
qstring tname;
type.get_type_name(&tname);
enum_t enumt = get_enum(tname.c_str());
op_enum(cmd.ea, x.n, enumt, 0);
但是,必须通过一根绳子感觉不对,而且有点脆弱。所以,现在的问题是:有没有更好/更安全的方法来实现这一目标?