IDAPython 9.0
Loading...
Searching...
No Matches
ida_regfinder Namespace Reference

Classes

class  reg_value_def_t
 
class  reg_value_info_t
 

Functions

'uint64 *' find_reg_value (ida_idaapi.ea_t ea, int reg)
 
'int64 *' find_sp_value (ida_idaapi.ea_t ea, int reg=-1)
 
bool find_reg_value_info ('reg_value_info_t' rvi, ida_idaapi.ea_t ea, int reg, int max_depth=0)
 
int find_nearest_rvi ('reg_value_info_t' rvi, ida_idaapi.ea_t ea, 'int const [2]' reg)
 
None invalidate_regfinder_cache (*args)
 

Variables

 cvar = _ida_regfinder.cvar
 

Function Documentation

◆ find_nearest_rvi()

int find_nearest_rvi ( 'reg_value_info_t' rvi,
ida_idaapi.ea_t ea,
'int const [2]' reg )
Find the value of any of the two registers using the register tracker. First, this function tries to find the registers in the basic block of EA, and if it could not do this, then it tries to find in the entire function. 
    
@param rvi: the found value with additional attributes
@param ea: the address to find a value at
@param reg: the registers to find
@returns the index of the found register or -1

◆ find_reg_value()

'uint64 *' find_reg_value ( ida_idaapi.ea_t ea,
int reg )
Find register value using the register tracker. 
    
@param ea: the address to find a value at
@param reg: the register to find
@retval 0: no value (the value is varying or the find depth is not enough to find a value)
@retval 1: the found value is in VAL
@retval -1: the processor module does not support a register tracker

◆ find_reg_value_info()

bool find_reg_value_info ( 'reg_value_info_t' rvi,
ida_idaapi.ea_t ea,
int reg,
int max_depth = 0 )
Find register value using the register tracker. 
    
@param rvi: the found value with additional attributes
@param ea: the address to find a value at
@param reg: the register to find
@param max_depth: the number of basic blocks to look before aborting the search and returning the unknown value. 0 means the value of REGTRACK_MAX_DEPTH from ida.cfg for ordinal registers or REGTRACK_FUNC_MAX_DEPTH for the function-wide registers, -1 means the value of REGTRACK_FUNC_MAX_DEPTH from ida.cfg.
@retval 'false': the processor module does not support a register tracker
@retval 'true': the found value is in RVI

◆ find_sp_value()

'int64 *' find_sp_value ( ida_idaapi.ea_t ea,
int reg = -1 )
Find a value of the SP based register using the register tracker. 
    
@param ea: the address to find a value at
@param reg: the register to find. by default the SP register is used.
@retval 0: no value (the value is varying or the find depth is not enough to find a value)
@retval 1: the found value is in VAL
@retval -1: the processor module does not support a register tracker

◆ invalidate_regfinder_cache()

None invalidate_regfinder_cache ( * args)
The control flow from FROM to TO has changed. Remove from the register tracker cache all values at TO and all dependent values. if TO == BADADDR then clear the entire cache. 

Variable Documentation

◆ cvar

cvar = _ida_regfinder.cvar