IDAPython 8.4
Loading...
Searching...
No Matches
ida_frame.py File Reference

Classes

class  xreflist_t
 Proxy of C++ qvector< xreflist_entry_t > class. More...
 
class  stkpnt_t
 Proxy of C++ stkpnt_t class. More...
 
class  stkpnts_t
 Proxy of C++ stkpnts_t class. More...
 
class  regvar_t
 Proxy of C++ regvar_t class. More...
 
class  xreflist_entry_t
 Proxy of C++ xreflist_entry_t class. More...
 

Namespaces

namespace  ida_frame
 

Functions

"PyObject *" get_stkvar (*args)
 get_stkvar(insn, op, v) -> (member_t, int) or None Get pointer to stack variable
 
"bool" is_funcarg_off (*args)
 is_funcarg_off(pfn, frameoff) -> bool
 
"sval_t" lvar_off (*args)
 lvar_off(pfn, frameoff) -> sval_t
 
"bool" add_frame (*args)
 add_frame(pfn, frsize, frregs, argsize) -> bool Add function frame.
 
"bool" del_frame (*args)
 del_frame(pfn) -> bool Delete a function frame.
 
"bool" set_frame_size (*args)
 set_frame_size(pfn, frsize, frregs, argsize) -> bool Set size of function frame.
 
"asize_t" get_frame_size (*args)
 get_frame_size(pfn) -> asize_t Get full size of a function frame.
 
"int" get_frame_retsize (*args)
 get_frame_retsize(pfn) -> int Get size of function return address.
 
"void" get_frame_part (*args)
 get_frame_part(range, pfn, part) Get offsets of the frame part in the frame.
 
"ea_t" frame_off_args (*args)
 frame_off_args(pfn) -> ea_t Get starting address of arguments section.
 
"ea_t" frame_off_retaddr (*args)
 frame_off_retaddr(pfn) -> ea_t Get starting address of return address section.
 
"ea_t" frame_off_savregs (*args)
 frame_off_savregs(pfn) -> ea_t Get starting address of saved registers section.
 
"ea_t" frame_off_lvars (*args)
 frame_off_lvars(pfn) -> ea_t Get start address of local variables section.
 
"struc_t *" get_frame (*args)
 get_frame(pfn) -> struc_t * Get pointer to function frame.
 
"sval_t" soff_to_fpoff (*args)
 soff_to_fpoff(pfn, soff) -> sval_t Convert struct offsets into fp-relative offsets.
 
"bool" update_fpd (*args)
 update_fpd(pfn, fpd) -> bool Update frame pointer delta.
 
"bool" set_purged (*args)
 set_purged(ea, nbytes, override_old_value) -> bool Set the number of purged bytes for a function or data item (funcptr).
 
"ea_t" get_func_by_frame (*args)
 get_func_by_frame(frame_id) -> ea_t Get function by its frame id.
 
"member_t *" get_frame_member_by_id (*args)
 get_frame_member_by_id(out_mname, out_fptr, mid) -> member_t * Check if the specified member id points to a frame member.
 
"bool" define_stkvar (*args)
 define_stkvar(pfn, name, off, flags, ti, nbytes) -> bool Define/redefine a stack variable.
 
"qstring *" build_stkvar_name (*args)
 build_stkvar_name(pfn, v) -> str Build automatic stack variable name.
 
"ea_t" calc_stkvar_struc_offset (*args)
 calc_stkvar_struc_offset(pfn, insn, n) -> ea_t Calculate offset of stack variable in the frame structure.
 
"void" free_regvar (*args)
 free_regvar(v)
 
"int" add_regvar (*args)
 add_regvar(pfn, ea1, ea2, canon, user, cmt) -> int Define a register variable.
 
"regvar_t *" find_regvar (*args)
 find_regvar(pfn, ea1, ea2, canon, user) -> regvar_t Find a register variable definition.
 
"bool" has_regvar (*args)
 has_regvar(pfn, ea) -> bool Is there a register variable definition?
 
"int" rename_regvar (*args)
 rename_regvar(pfn, v, user) -> int Rename a register variable.
 
"int" set_regvar_cmt (*args)
 set_regvar_cmt(pfn, v, cmt) -> int Set comment for a register variable.
 
"int" del_regvar (*args)
 del_regvar(pfn, ea1, ea2, canon) -> int Delete a register variable definition.
 
"bool" add_auto_stkpnt (*args)
 add_auto_stkpnt(pfn, ea, delta) -> bool Add automatic SP register change point.
 
"bool" add_user_stkpnt (*args)
 add_user_stkpnt(ea, delta) -> bool Add user-defined SP register change point.
 
"bool" del_stkpnt (*args)
 del_stkpnt(pfn, ea) -> bool Delete SP register change point.
 
"sval_t" get_spd (*args)
 get_spd(pfn, ea) -> sval_t Get difference between the initial and current values of ESP.
 
"sval_t" get_effective_spd (*args)
 get_effective_spd(pfn, ea) -> sval_t Get effective difference between the initial and current values of ESP.
 
"sval_t" get_sp_delta (*args)
 get_sp_delta(pfn, ea) -> sval_t Get modification of SP made at the specified location
 
"bool" set_auto_spd (*args)
 set_auto_spd(pfn, ea, new_spd) -> bool Add such an automatic SP register change point so that at EA the new cumulative SP delta (that is, the difference between the initial and current values of SP) would be equal to NEW_SPD.
 
"bool" recalc_spd (*args)
 recalc_spd(cur_ea) -> bool Recalculate SP delta for an instruction that stops execution.
 
"bool" recalc_spd_for_basic_block (*args)
 
"void" build_stkvar_xrefs (*args)
 build_stkvar_xrefs(out, pfn, mptr) Fill 'out' with a list of all the xrefs made from function 'pfn', to the argument or variable 'mptr' in 'pfn's stack frame.
 
"ea_t" get_min_spd_ea (*args)
 get_min_spd_ea(pfn) -> ea_t
 
"int" delete_unreferenced_stkvars (*args)
 delete_unreferenced_stkvars(pfn) -> int
 
"int" delete_wrong_stkvar_ops (*args)
 delete_wrong_stkvar_ops(pfn) -> int
 

Variables

 FPC_ARGS = _ida_frame.FPC_ARGS
 
 FPC_RETADDR = _ida_frame.FPC_RETADDR
 
 FPC_SAVREGS = _ida_frame.FPC_SAVREGS
 
 FPC_LVARS = _ida_frame.FPC_LVARS
 
 STKVAR_VALID_SIZE = _ida_frame.STKVAR_VALID_SIZE
 
 REGVAR_ERROR_OK = _ida_frame.REGVAR_ERROR_OK
 
 REGVAR_ERROR_ARG = _ida_frame.REGVAR_ERROR_ARG
 
 REGVAR_ERROR_RANGE = _ida_frame.REGVAR_ERROR_RANGE
 
 REGVAR_ERROR_NAME = _ida_frame.REGVAR_ERROR_NAME