IDAPython 9.0
Loading...
Searching...
No Matches
ida_auto.py File Reference

Classes

class  auto_display_t
 Proxy of C++ auto_display_t class. More...
 

Namespaces

namespace  ida_auto
 Functions that work with the autoanalyzer queue.
 

Functions

"atype_t" get_auto_state ()
 get_auto_state() -> atype_t Get current state of autoanalyzer.
 
"atype_t" set_auto_state ("atype_t" new_state)
 set_auto_state(new_state) -> atype_t Set current state of autoanalyzer.
 
"bool" get_auto_display ("auto_display_t" auto_display)
 get_auto_display(auto_display) -> bool Get structure which holds the autoanalysis indicator contents.
 
"void" show_auto (*args)
 show_auto(ea, type=AU_NONE) Change autoanalysis indicator value.
 
"void" show_addr ("ea_t" ea)
 show_addr(ea) Show an address on the autoanalysis indicator.
 
"idastate_t" set_ida_state ("idastate_t" st)
 set_ida_state(st) -> idastate_t Change IDA status indicator value
 
"bool" may_create_stkvars ()
 may_create_stkvars() -> bool Is it allowed to create stack variables automatically?.
 
"bool" may_trace_sp ()
 may_trace_sp() -> bool Is it allowed to trace stack pointer automatically?.
 
"void" auto_mark_range ("ea_t" start, "ea_t" end, "atype_t" type)
 auto_mark_range(start, end, type) Put range of addresses into a queue.
 
"void" auto_mark ("ea_t" ea, "atype_t" type)
 auto_mark(ea, type) Put single address into a queue.
 
"void" auto_unmark ("ea_t" start, "ea_t" end, "atype_t" type)
 auto_unmark(start, end, type) Remove range of addresses from a queue.
 
"void" plan_ea ("ea_t" ea)
 plan_ea(ea) Plan to perform reanalysis.
 
"void" plan_range ("ea_t" sEA, "ea_t" eEA)
 plan_range(sEA, eEA) Plan to perform reanalysis.
 
"void" auto_make_code ("ea_t" ea)
 auto_make_code(ea) Plan to make code.
 
"void" auto_make_proc ("ea_t" ea)
 auto_make_proc(ea) Plan to make code&function.
 
"bool" auto_postpone_analysis ("ea_t" ea)
 auto_postpone_analysis(ea) -> bool Plan to reanalyze on the second pass The typical usage of this function in emu.cpp is: if ( !auto_postpone_analysis(ea) ) op_offset(ea, 0, ...); (we make an offset only on the second pass)
 
"void" reanalyze_callers ("ea_t" ea, "bool" noret)
 reanalyze_callers(ea, noret) Plan to reanalyze callers of the specified address.
 
"void" revert_ida_decisions ("ea_t" ea1, "ea_t" ea2)
 revert_ida_decisions(ea1, ea2) Delete all analysis info that IDA generated for for the given range.
 
"void" auto_apply_type ("ea_t" caller, "ea_t" callee)
 auto_apply_type(caller, callee) Plan to apply the callee's type to the calling point.
 
"void" auto_apply_tail ("ea_t" tail_ea, "ea_t" parent_ea)
 auto_apply_tail(tail_ea, parent_ea) Plan to apply the tail_ea chunk to the parent
 
"int" plan_and_wait ("ea_t" ea1, "ea_t" ea2, "bool" final_pass=True)
 plan_and_wait(ea1, ea2, final_pass=True) -> int Analyze the specified range.
 
"bool" auto_wait ()
 auto_wait() -> bool Process everything in the queues and return true.
 
"ssize_t" auto_wait_range ("ea_t" ea1, "ea_t" ea2)
 auto_wait_range(ea1, ea2) -> ssize_t Process everything in the specified range and return true.
 
"bool" auto_make_step ("ea_t" ea1, "ea_t" ea2)
 auto_make_step(ea1, ea2) -> bool Analyze one address in the specified range and return true.
 
"void" auto_cancel ("ea_t" ea1, "ea_t" ea2)
 auto_cancel(ea1, ea2) Remove an address range (ea1..ea2) from queues AU_CODE, AU_PROC, AU_USED.
 
"bool" auto_is_ok ()
 auto_is_ok() -> bool Are all queues empty? (i.e.
 
"ea_t" peek_auto_queue ("ea_t" low_ea, "atype_t" type)
 peek_auto_queue(low_ea, type) -> ea_t Peek into a queue 'type' for an address not lower than 'low_ea'.
 
"ea_t" auto_get ("atype_t *" type, "ea_t" lowEA, "ea_t" highEA)
 auto_get(type, lowEA, highEA) -> ea_t Retrieve an address from queues regarding their priority.
 
"int" auto_recreate_insn ("ea_t" ea)
 auto_recreate_insn(ea) -> int Try to create instruction
 
"bool" is_auto_enabled ()
 is_auto_enabled() -> bool Get autoanalyzer state.
 
"bool" enable_auto ("bool" enable)
 enable_auto(enable) -> bool Temporarily enable/disable autoanalyzer.
 

Variables

 cvar = _ida_auto.cvar
 
 AU_NONE = cvar.AU_NONE
 
 AU_UNK = cvar.AU_UNK
 
 AU_CODE = cvar.AU_CODE
 
 AU_WEAK = cvar.AU_WEAK
 
 AU_PROC = cvar.AU_PROC
 
 AU_TAIL = cvar.AU_TAIL
 
 AU_FCHUNK = cvar.AU_FCHUNK
 
 AU_USED = cvar.AU_USED
 
 AU_USD2 = cvar.AU_USD2
 
 AU_TYPE = cvar.AU_TYPE
 
 AU_LIBF = cvar.AU_LIBF
 
 AU_LBF2 = cvar.AU_LBF2
 
 AU_LBF3 = cvar.AU_LBF3
 
 AU_CHLB = cvar.AU_CHLB
 
 AU_FINAL = cvar.AU_FINAL
 
 st_Ready = cvar.st_Ready
 
 st_Think = cvar.st_Think
 
 st_Waiting = cvar.st_Waiting
 
 st_Work = cvar.st_Work