我有功能
foo_0(...,_ v0,...)
foo_1(...,_ v1,...)
...
而且,对于每一(foo_x, _ v_x)
对,我想将v_x
声明中的类型更改为ANIMAL *
,其中ANIMAL
是本地类型。
我从这个问题中回收了一些代码,如下:
from idaapi import *
tif = tinfo_t()
get_tinfo2(ea, tif)
funcdata = func_type_data_t()
tif.get_func_details(funcdata)
在此之后,我被卡住了,因为我找不到轻松创建/修改的方法funcdata[i].type
的tinfo_t
对象。
我最后的手段是使用GuessType
/GetType
并修改之前的字符串SetType
,但这可能有点复杂,因为某些参数是指向函数本身的指针。
任何建议将是最受欢迎的!