View Single Post
  #2  
Old 07-31-2019, 15:46
chants chants is offline
VIP
 
Join Date: Jul 2016
Posts: 738
Rept. Given: 37
Rept. Rcvd 48 Times in 30 Posts
Thanks Given: 671
Thanks Rcvd at 1,064 Times in 482 Posts
chants Reputation: 48
Now to get this to take place in the callers of the function still the type has stale stack offsets (its separate from the frame):
Code:
ida_typeinf.guess_tinfo(tinfo, ea)
fi.cc = (fi.cc & ~idaapi.CM_M_MASK) | idaapi.CM_M_FN
tinfo.create_func(fi)
ida_typeinf.apply_tinfo(ea, tinfo, idaapi.TINFO_DEFINITE)
Manually one could enumerate code x-refs to the function and use ida_typeinf.apply_callee_tinfo(callee_ea, tinfo).

Also an alternative to the processor module may be to use ida_typeinf.delete_wrong_frame_info(f, reanalyze_callback) but it requires a callback which takes instructions as an argument. Its not really intended for a complete refresh.
Reply With Quote