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

Classes

class  dyn_stkpnt_array
 Proxy of C++ dynamic_wrapped_array_t< stkpnt_t > class. More...
 
class  dyn_regvar_array
 Proxy of C++ dynamic_wrapped_array_t< regvar_t > class. More...
 
class  dyn_range_array
 Proxy of C++ dynamic_wrapped_array_t< range_t > class. More...
 
class  dyn_ea_array
 Proxy of C++ dynamic_wrapped_array_t< ea_t > class. More...
 
class  dyn_regarg_array
 Proxy of C++ dynamic_wrapped_array_t< regarg_t > class. More...
 
class  regarg_t
 Proxy of C++ regarg_t class. More...
 
class  func_t
 Proxy of C++ func_t class. More...
 
class  lock_func
 Proxy of C++ lock_func class. More...
 
class  lock_func_with_tails_t
 Proxy of C++ lock_func_with_tails_t class. More...
 
class  func_tail_iterator_t
 Proxy of C++ func_tail_iterator_t class. More...
 
class  func_item_iterator_t
 Proxy of C++ func_item_iterator_t class. More...
 
class  func_parent_iterator_t
 Proxy of C++ func_parent_iterator_t class. More...
 

Namespaces

namespace  ida_funcs
 

Functions

"void" free_regarg (*args)
 free_regarg(v)
 
"bool" is_func_entry (*args)
 is_func_entry(pfn) -> bool Does function describe a function entry chunk?
 
"bool" is_func_tail (*args)
 is_func_tail(pfn) -> bool Does function describe a function tail chunk?
 
"void" lock_func_range (*args)
 lock_func_range(pfn, lock) Lock function pointer Locked pointers are guaranteed to remain valid until they are unlocked.
 
"bool" is_func_locked (*args)
 is_func_locked(pfn) -> bool Is the function pointer locked?
 
"func_t *" get_func (*args)
 get_func(ea) -> func_t Get pointer to function structure by address.
 
"int" get_func_chunknum (*args)
 get_func_chunknum(pfn, ea) -> int Get the containing tail chunk of 'ea'.
 
"bool" func_contains (*args)
 func_contains(pfn, ea) -> bool Does the given function contain the given address?
 
"bool" is_same_func (*args)
 is_same_func(ea1, ea2) -> bool Do two addresses belong to the same function?
 
"func_t *" getn_func (*args)
 getn_func(n) -> func_t Get pointer to function structure by number.
 
"size_t" get_func_qty (*args)
 get_func_qty() -> size_t Get total number of functions in the program.
 
"int" get_func_num (*args)
 get_func_num(ea) -> int Get ordinal number of a function.
 
"func_t *" get_prev_func (*args)
 get_prev_func(ea) -> func_t Get pointer to the previous function.
 
"func_t *" get_next_func (*args)
 get_next_func(ea) -> func_t Get pointer to the next function.
 
"ea_t" get_func_ranges (*args)
 get_func_ranges(ranges, pfn) -> ea_t Get function ranges.
 
"qstring *" get_func_cmt (*args)
 get_func_cmt(pfn, repeatable) -> str Get function comment.
 
"bool" set_func_cmt (*args)
 set_func_cmt(pfn, cmt, repeatable) -> bool Set function comment.
 
"bool" update_func (*args)
 update_func(pfn) -> bool Update information about a function in the database (func_t).
 
"bool" add_func_ex (*args)
 add_func_ex(pfn) -> bool Add a new function.
 
"bool" add_func (*args)
 add_func(ea1, ea2=BADADDR) -> bool Add a new function.
 
"bool" del_func (*args)
 del_func(ea) -> bool Delete a function.
 
"int" set_func_start (*args)
 set_func_start(ea, newstart) -> int Move function chunk start address.
 
"bool" set_func_end (*args)
 set_func_end(ea, newend) -> bool Move function chunk end address.
 
"void" reanalyze_function (*args)
 reanalyze_function(pfn, ea1=0, ea2=BADADDR, analyze_parents=False) Reanalyze a function.
 
"int" find_func_bounds (*args)
 find_func_bounds(nfn, flags) -> int Determine the boundaries of a new function.
 
"qstring *" get_func_name (*args)
 get_func_name(ea) -> str Get function name.
 
"asize_t" calc_func_size (*args)
 calc_func_size(pfn) -> asize_t Calculate function size.
 
"int" get_func_bitness (*args)
 get_func_bitness(pfn) -> int Get function bitness (which is equal to the function segment bitness).
 
"int" get_func_bits (*args)
 get_func_bits(pfn) -> int Get number of bits in the function addressing.
 
"int" get_func_bytes (*args)
 get_func_bytes(pfn) -> int Get number of bytes in the function addressing.
 
"bool" is_visible_func (*args)
 is_visible_func(pfn) -> bool Is the function visible (not hidden)?
 
"bool" is_finally_visible_func (*args)
 is_finally_visible_func(pfn) -> bool Is the function visible (event after considering SCF_SHHID_FUNC)?
 
"void" set_visible_func (*args)
 set_visible_func(pfn, visible) Set visibility of function.
 
"int" set_func_name_if_jumpfunc (*args)
 set_func_name_if_jumpfunc(pfn, oldname) -> int Give a meaningful name to function if it consists of only 'jump' instruction.
 
"ea_t *" calc_thunk_func_target (*args)
 calc_thunk_func_target(pfn) -> ea_t Calculate target of a thunk function.
 
"bool" func_does_return (*args)
 func_does_return(callee) -> bool Does the function return?.
 
"bool" reanalyze_noret_flag (*args)
 reanalyze_noret_flag(ea) -> bool Plan to reanalyze noret flag.
 
"bool" set_noret_insn (*args)
 set_noret_insn(insn_ea, noret) -> bool Signal a non-returning instruction.
 
"func_t *" get_fchunk (*args)
 get_fchunk(ea) -> func_t Get pointer to function chunk structure by address.
 
"func_t *" getn_fchunk (*args)
 getn_fchunk(n) -> func_t Get pointer to function chunk structure by number.
 
"size_t" get_fchunk_qty (*args)
 get_fchunk_qty() -> size_t Get total number of function chunks in the program.
 
"int" get_fchunk_num (*args)
 get_fchunk_num(ea) -> int Get ordinal number of a function chunk in the global list of function chunks.
 
"func_t *" get_prev_fchunk (*args)
 get_prev_fchunk(ea) -> func_t Get pointer to the previous function chunk in the global list.
 
"func_t *" get_next_fchunk (*args)
 get_next_fchunk(ea) -> func_t Get pointer to the next function chunk in the global list.
 
"bool" append_func_tail (*args)
 append_func_tail(pfn, ea1, ea2) -> bool Append a new tail chunk to the function definition.
 
"bool" remove_func_tail (*args)
 remove_func_tail(pfn, tail_ea) -> bool Remove a function tail.
 
"bool" set_tail_owner (*args)
 set_tail_owner(fnt, new_owner) -> bool Set a new owner of a function tail.
 
"bool" func_tail_iterator_set (*args)
 func_tail_iterator_set(fti, pfn, ea) -> bool
 
"bool" func_tail_iterator_set_ea (*args)
 func_tail_iterator_set_ea(fti, ea) -> bool
 
"bool" func_parent_iterator_set (*args)
 func_parent_iterator_set(fpi, pfn) -> bool
 
"bool" f_any (*args)
 f_any(arg1, arg2) -> bool Helper function to accept any address.
 
"ea_t" get_prev_func_addr (*args)
 get_prev_func_addr(pfn, ea) -> ea_t
 
"ea_t" get_next_func_addr (*args)
 get_next_func_addr(pfn, ea) -> ea_t
 
"void" read_regargs (*args)
 read_regargs(pfn)
 
"void" add_regarg (*args)
 add_regarg(pfn, reg, tif, name)
 
"int" plan_to_apply_idasgn (*args)
 plan_to_apply_idasgn(fname) -> int Add a signature file to the list of planned signature files.
 
"int" apply_idasgn_to (*args)
 apply_idasgn_to(signame, ea, is_startup) -> int Apply a signature file to the specified address.
 
"int" get_idasgn_qty (*args)
 get_idasgn_qty() -> int Get number of signatures in the list of planned and applied signatures.
 
"int" get_current_idasgn (*args)
 get_current_idasgn() -> int Get number of the the current signature.
 
"int" calc_idasgn_state (*args)
 calc_idasgn_state(n) -> int Get state of a signature in the list of planned signatures
 
"int" del_idasgn (*args)
 del_idasgn(n) -> int Remove signature from the list of planned signatures.
 
"qstring *" get_idasgn_title (*args)
 get_idasgn_title(name) -> str Get full description of the signature by its short name.
 
"bool" apply_startup_sig (*args)
 apply_startup_sig(ea, startup) -> bool Apply a startup signature file to the specified address.
 
"int" try_to_add_libfunc (*args)
 try_to_add_libfunc(ea) -> int Apply the currently loaded signature file to the specified address.
 
"ea_t" get_fchunk_referer (*args)
 get_fchunk_referer(ea, idx) -> ea_t
 
"PyObject *" get_idasgn_desc (*args)
 get_idasgn_desc(n) -> (str, str) Get information about a signature in the list.
 
"PyObject *" get_idasgn_desc_with_matches (*args)
 get_idasgn_desc_with_matches(n) -> (str, str, int) Get information about a signature in the list.
 
"func_t *" func_t__from_ptrval__ (*args)
 func_t__from_ptrval__(ptrval) -> func_t
 

Variables

 FUNC_NORET = _ida_funcs.FUNC_NORET
 
 FUNC_FAR = _ida_funcs.FUNC_FAR
 
 FUNC_LIB = _ida_funcs.FUNC_LIB
 
 FUNC_STATICDEF = _ida_funcs.FUNC_STATICDEF
 
 FUNC_FRAME = _ida_funcs.FUNC_FRAME
 
 FUNC_USERFAR = _ida_funcs.FUNC_USERFAR
 
 FUNC_HIDDEN = _ida_funcs.FUNC_HIDDEN
 
 FUNC_THUNK = _ida_funcs.FUNC_THUNK
 
 FUNC_BOTTOMBP = _ida_funcs.FUNC_BOTTOMBP
 
 FUNC_NORET_PENDING = _ida_funcs.FUNC_NORET_PENDING
 
 FUNC_SP_READY = _ida_funcs.FUNC_SP_READY
 
 FUNC_FUZZY_SP = _ida_funcs.FUNC_FUZZY_SP
 
 FUNC_PROLOG_OK = _ida_funcs.FUNC_PROLOG_OK
 
 FUNC_PURGED_OK = _ida_funcs.FUNC_PURGED_OK
 
 FUNC_TAIL = _ida_funcs.FUNC_TAIL
 
 FUNC_LUMINA = _ida_funcs.FUNC_LUMINA
 
 FUNC_OUTLINE = _ida_funcs.FUNC_OUTLINE
 
 FUNC_REANALYZE = _ida_funcs.FUNC_REANALYZE
 
 MOVE_FUNC_OK = _ida_funcs.MOVE_FUNC_OK
 
 MOVE_FUNC_NOCODE = _ida_funcs.MOVE_FUNC_NOCODE
 
 MOVE_FUNC_BADSTART = _ida_funcs.MOVE_FUNC_BADSTART
 
 MOVE_FUNC_NOFUNC = _ida_funcs.MOVE_FUNC_NOFUNC
 
 MOVE_FUNC_REFUSED = _ida_funcs.MOVE_FUNC_REFUSED
 
 FIND_FUNC_NORMAL = _ida_funcs.FIND_FUNC_NORMAL
 
 FIND_FUNC_DEFINE = _ida_funcs.FIND_FUNC_DEFINE
 
 FIND_FUNC_IGNOREFN = _ida_funcs.FIND_FUNC_IGNOREFN
 
 FIND_FUNC_KEEPBD = _ida_funcs.FIND_FUNC_KEEPBD
 
 FIND_FUNC_UNDEF = _ida_funcs.FIND_FUNC_UNDEF
 
 FIND_FUNC_OK = _ida_funcs.FIND_FUNC_OK
 
 FIND_FUNC_EXIST = _ida_funcs.FIND_FUNC_EXIST
 
 IDASGN_OK = _ida_funcs.IDASGN_OK
 
 IDASGN_BADARG = _ida_funcs.IDASGN_BADARG
 
 IDASGN_APPLIED = _ida_funcs.IDASGN_APPLIED
 
 IDASGN_CURRENT = _ida_funcs.IDASGN_CURRENT
 
 IDASGN_PLANNED = _ida_funcs.IDASGN_PLANNED
 
 LIBFUNC_FOUND = _ida_funcs.LIBFUNC_FOUND
 
 LIBFUNC_NONE = _ida_funcs.LIBFUNC_NONE
 
 LIBFUNC_DELAY = _ida_funcs.LIBFUNC_DELAY