|
IDAPython 9.0
|
Classes | |
| class | reg_value_def_t |
| Proxy of C++ reg_value_def_t class. More... | |
| class | reg_value_info_t |
| Proxy of C++ reg_value_info_t class. More... | |
Functions | |
| "uint64 *" | find_reg_value ("ea_t" ea, "int" reg) |
| find_reg_value(ea, reg) -> int Find register value using the register tracker. | |
| "int64 *" | find_sp_value ("ea_t" ea, "int" reg=-1) |
| find_sp_value(ea, reg=-1) -> int Find a value of the SP based register using the register tracker. | |
| "bool" | find_reg_value_info ("reg_value_info_t" rvi, "ea_t" ea, "int" reg, "int" max_depth=0) |
| find_reg_value_info(rvi, ea, reg, max_depth=0) -> bool Find register value using the register tracker. | |
| "int" | find_nearest_rvi ("reg_value_info_t" rvi, "ea_t" ea, "int const [2]" reg) |
| find_nearest_rvi(rvi, ea, reg) -> int Find the value of any of the two registers using the register tracker. | |
| "void" | invalidate_regfinder_cache (*args) |
| invalidate_regfinder_cache(to=BADADDR, _from=BADADDR) The control flow from FROM to TO has changed. | |
Variables | |
| cvar = _ida_regfinder.cvar | |
| "int" find_nearest_rvi | ( | "reg_value_info_t" | rvi, |
| "ea_t" | ea, | ||
| "int const [2]" | reg ) |
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.
| rvi | (C++: reg_value_info_t *) the found value with additional attributes |
| ea | (C++: ea_t) the address to find a value at |
| reg | (C++: const int) the registers to find |
| "uint64 *" find_reg_value | ( | "ea_t" | ea, |
| "int" | reg ) |
| ea | (C++: ea_t) the address to find a value at |
| reg | (C++: int) the register to find |
| 0 | no value (the value is varying or the find depth is not enough to find a value) |
| 1 | the found value is in VAL |
| -1 | the processor module does not support a register tracker |
| "bool" find_reg_value_info | ( | "reg_value_info_t" | rvi, |
| "ea_t" | ea, | ||
| "int" | reg, | ||
| "int" | max_depth = 0 ) |
| rvi | (C++: reg_value_info_t *) the found value with additional attributes |
| ea | (C++: ea_t) the address to find a value at |
| reg | (C++: int) the register to find |
| max_depth | (C++: int) 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. |
| 'false' | the processor module does not support a register tracker |
| 'true' | the found value is in RVI |
| "int64 *" find_sp_value | ( | "ea_t" | ea, |
| "int" | reg = -1 ) |
| ea | (C++: ea_t) the address to find a value at |
| reg | (C++: int) the register to find. by default the SP register is used. |
| 0 | no value (the value is varying or the find depth is not enough to find a value) |
| 1 | the found value is in VAL |
| -1 | the processor module does not support a register tracker |
| "void" invalidate_regfinder_cache | ( | * | args | ) |
Remove from the register tracker cache all values at TO and all dependent values. if TO == BADADDR then clear the entire cache.
| to | (C++: ea_t) |
| from | (C++: ea_t) |
| cvar = _ida_regfinder.cvar |