我在 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);
但是,必须通过一根绳子感觉不对,而且有点脆弱。所以,现在的问题是:有没有更好/更安全的方法来实现这一目标?