RzAnalysis#
- class RzAnalysis#
-
- property arch_hints: RBTree#
- property arch_target: RzPlatformTarget#
- property bb_tree: RBTree#
- property big_endian: int#
- property binb: RzBinBind#
- property bits: int#
- property bits_hints: RBTree#
- property cb: RzAnalysisCallbacks#
- property columnSort: RzListComparator#
- property constpool: RzStrConstPool#
- property core: Any#
- property coreb: RzCoreBind#
- property cpp_abi: RzAnalysisCPPABI#
- property cpu: str#
- property cur: RzAnalysisPlugin#
- property diff_ops: int#
- property diff_thbb: float#
- property diff_thfcn: float#
- property esil: RzAnalysisEsil#
- property esil_goto_limit: int#
- property ev: RzEvent#
- property fcns: RzList[RzAnalysisFunction]#
- property flag_get: RzFlagGetAtAddr#
- property flb: RzFlagBind#
- property flg_class_get: RzFlagGet#
- property flg_class_set: RzFlagSet#
- property flg_fcn_set: RzFlagSet#
- property global_var_tree: RBTree#
- property gp: int#
- property hint_cbs: RHintCb#
- property il_vm: RzAnalysisILVM#
- property imports: RzList[char]#
- property iob: RzIOBind#
- property last_disasm_reg: int#
- property limit: RzAnalysisRange#
- property lineswidth: int#
- property log: CFunction[[RzAnalysis, str], bool]#
- property maxreflines: int#
- property meta: RzIntervalTree#
- property meta_spaces: RzSpaces#
- property opt: RzAnalysisOptions#
- property os: str#
- property pcalign: int#
- property platform_target: RzPlatformTargetIndex#
- property plugin_data: Any#
- property plugins: RzList[RzAnalysisPlugin]#
- property read_at: CFunction[[RzAnalysis, int, int, int], bool]#
- property recursive_noreturn: bool#
- property reflines: RzList[RzAnalysisRefline]#
- property seggrn: int#
- property sleep: int#
- property stackptr: int#
- property syscall: RzSyscall#
- property typedb: RzTypeDB#
- property visited: SetU#
- static add_device_peripheral_map(analysis: RzAnalysis) bool #
Calls function
rz_analysis_add_device_peripheral_map
(defined in canalysis.c)Maps the device peripherals as sections.
Gets the ROM_ADDRESS and ROM_SIZE from the corresponding CPU Profile and adds it as a section (RzBinSection) named “.rom” which will appear when you run
iS
.- Parameters:
o – reference to RzBinObject
analysis – reference to RzAnalysis
- static block_add_switch_case(switch_addr: int, case_value: int, case_addr: int) None #
Calls function
rz_analysis_block_add_switch_case
(defined in block.c)
- static block_analyze_ops() None #
Calls function
rz_analysis_block_analyze_ops
(defined in block.c)Successively disassemble the ops in this block and update the contained op addrs. This will not move or resize the block itself or touch anything else around it, it is primarily useful when creating or editing blocks after full function analysis.
- static block_chop_noreturn(addr: int) RzAnalysisBlock #
Calls function
rz_analysis_block_chop_noreturn
(defined in block.c)
- static block_get_op_addr(i: size_t) int #
Calls function
rz_analysis_block_get_op_addr
(defined in block.c)- Returns:
the absolute address of the i-th instruction in block or UT64_MAX if i is invalid.
- static block_get_op_addr_in(off: int) int #
Calls function
rz_analysis_block_get_op_addr_in
(defined in block.c)- Returns:
the address of the instruction that occupies a given offset or UT64_MAX if off is not in the block.
- static block_get_op_offset(i: size_t) int #
Calls function
rz_analysis_block_get_op_offset
(defined in block.c)- Returns:
the offset of the i-th instruction in the basicblock bb or U16_MAX if i is invalid.
- static block_get_op_size(i: size_t) int #
Calls function
rz_analysis_block_get_op_size
(defined in block.c)- Returns:
the size of the i-th instruction in a basic block
- static block_merge(b: RzAnalysisBlock) bool #
Calls function
rz_analysis_block_merge
(defined in block.c)
- static block_op_starts_at(addr: int) bool #
Calls function
rz_analysis_block_op_starts_at
(defined in block.c)
- static block_recurse(cb: RzAnalysisBlockCb, user: Any) bool #
Calls function
rz_analysis_block_recurse
(defined in block.c)
- static block_recurse_depth_first(cb: RzAnalysisBlockCb, on_exit: RzAnalysisBlockCb, user: Any) bool #
Calls function
rz_analysis_block_recurse_depth_first
(defined in block.c)
- static block_recurse_followthrough(cb: RzAnalysisBlockCb, user: Any) bool #
Calls function
rz_analysis_block_recurse_followthrough
(defined in block.c)
- static block_recurse_list() RzList[RzAnalysisBlock] #
Calls function
rz_analysis_block_recurse_list
(defined in block.c)
- static block_relocate(addr: int, size: int) bool #
Calls function
rz_analysis_block_relocate
(defined in block.c)
- static block_set_op_offset(i: size_t, v: int) bool #
Calls function
rz_analysis_block_set_op_offset
(defined in block.c)set the offset of the i-th instruction in the basicblock bb
- static block_set_size(size: int) None #
Calls function
rz_analysis_block_set_size
(defined in block.c)
- static block_shortest_path(dst: int) RzList[RzAnalysisBlock] #
Calls function
rz_analysis_block_shortest_path
(defined in block.c)
- static block_split(addr: int) RzAnalysisBlock #
Calls function
rz_analysis_block_split
(defined in block.c)
- static block_successor_addrs_foreach(cb: RzAnalysisAddrCb, user: Any) bool #
Calls function
rz_analysis_block_successor_addrs_foreach
(defined in block.c)
- static block_was_modified() bool #
Calls function
rz_analysis_block_was_modified
(defined in block.c)
- static cond_new_from_op() RzAnalysisCond #
Calls function
rz_analysis_cond_new_from_op
(defined in cond.c)
- static cond_new_from_string() RzAnalysisCond #
Calls function
rz_analysis_cond_new_from_string
(defined in cond.c)
- static cycle_frame_new() RzAnalysisCycleFrame #
Calls function
rz_analysis_cycle_frame_new
(defined in cycles.c)
- static data_new(type: int, n: int, buf: int, len: int) RzAnalysisData #
Calls function
rz_analysis_data_new
(defined in data.c)
- static data_new_string(p: str, size: int, wide: int) RzAnalysisData #
Calls function
rz_analysis_data_new_string
(defined in data.c)
- static data_to_string(pal: RzConsPrintablePalette) str #
Calls function
rz_analysis_data_to_string
(defined in data.c)
- static esil_claim_source(src_id: int) bool #
Calls function
rz_analysis_esil_claim_source
(defined in esil_sources.c)
- static esil_fire_interrupt(intr_num: int) int #
Calls function
rz_analysis_esil_fire_interrupt
(defined in esil_interrupt.c)
- static esil_get_instruction_trace(idx: int) RzILTraceInstruction #
Calls function
rz_analysis_esil_get_instruction_trace
(defined in esil_trace.c)Get instruction trace from ESIL trace by index
- Parameters:
etrace – RzAnalysisEsilTrace *, ESIL trace
idx – int, index of instruction
- Returns:
RzILTraceInstruction *, instruction trace at index
- static esil_get_parm(str: str, num: int) int #
Calls function
rz_analysis_esil_get_parm
(defined in esil.c)
- static esil_get_parm_type(str: str) int #
Calls function
rz_analysis_esil_get_parm_type
(defined in esil.c)
- static esil_get_source(src_id: int) Any #
Calls function
rz_analysis_esil_get_source
(defined in esil_sources.c)
- static esil_interrupt_free(intr: RzAnalysisEsilInterrupt) None #
Calls function
rz_analysis_esil_interrupt_free
(defined in esil_interrupt.c)
- static esil_interrupt_new(src_id: int, ih: RzAnalysisEsilInterruptHandler) RzAnalysisEsilInterrupt #
Calls function
rz_analysis_esil_interrupt_new
(defined in esil_interrupt.c)
- static esil_interrupts_fini() None #
Calls function
rz_analysis_esil_interrupts_fini
(defined in esil_interrupt.c)
- static esil_interrupts_init() None #
Calls function
rz_analysis_esil_interrupts_init
(defined in esil_interrupt.c)
- static esil_load_interrupts(handlers: Pointer[Pointer[RzAnalysisEsilInterruptHandler]], src_id: int) bool #
Calls function
rz_analysis_esil_load_interrupts
(defined in esil_interrupt.c)
- static esil_load_interrupts_from_lib(path: str) bool #
Calls function
rz_analysis_esil_load_interrupts_from_lib
(defined in esil_interrupt.c)
- static esil_load_source(path: str) int #
Calls function
rz_analysis_esil_load_source
(defined in esil_sources.c)
- static esil_mem_read(addr: int, buf: int, len: int) int #
Calls function
rz_analysis_esil_mem_read
(defined in esil.c)
- static esil_mem_ro(mem_readonly: int) None #
Calls function
rz_analysis_esil_mem_ro
(defined in esil_stats.c)
- static esil_mem_write(addr: int, buf: int, len: int) int #
Calls function
rz_analysis_esil_mem_write
(defined in esil.c)
- static esil_new(iotrap: int, addrsize: int) RzAnalysisEsil #
Calls function
rz_analysis_esil_new
(defined in esil.c)
- static esil_reg_read(regname: str, num: int, size: int) int #
Calls function
rz_analysis_esil_reg_read
(defined in esil.c)
- static esil_reg_write(dst: str, num: int) int #
Calls function
rz_analysis_esil_reg_write
(defined in esil.c)
- static esil_release_source(src_id: int) None #
Calls function
rz_analysis_esil_release_source
(defined in esil_sources.c)
- static esil_set_interrupt(intr: RzAnalysisEsilInterrupt) bool #
Calls function
rz_analysis_esil_set_interrupt
(defined in esil_interrupt.c)
- static esil_set_op(op: str, code: RzAnalysisEsilOpCb, push: int, pop: int, type: int) bool #
Calls function
rz_analysis_esil_set_op
(defined in esil.c)
- static esil_setup(analysis: RzAnalysis, romem: int, stats: int, nonull: int) bool #
Calls function
rz_analysis_esil_setup
(defined in esil.c)
- static esil_sources_fini() None #
Calls function
rz_analysis_esil_sources_fini
(defined in esil_sources.c)
- static esil_sources_init() None #
Calls function
rz_analysis_esil_sources_init
(defined in esil_sources.c)
- static esil_stats(enable: int) None #
Calls function
rz_analysis_esil_stats
(defined in esil_stats.c)
- static esil_trace_free() None #
Calls function
rz_analysis_esil_trace_free
(defined in esil_trace.c)
- static esil_trace_list() None #
Calls function
rz_analysis_esil_trace_list
(defined in esil_trace.c)List all traces
- Parameters:
esil – RzAnalysisEsil *, ESIL instance
- static esil_trace_new() RzAnalysisEsilTrace #
Calls function
rz_analysis_esil_trace_new
(defined in esil_trace.c)
- static esil_trace_op(op: RzAnalysisOp) None #
Calls function
rz_analysis_esil_trace_op
(defined in esil_trace.c)
- static esil_trace_restore(idx: int) None #
Calls function
rz_analysis_esil_trace_restore
(defined in esil_trace.c)
- static esil_trace_show(idx: int) None #
Calls function
rz_analysis_esil_trace_show
(defined in esil_trace.c)Display an ESIL trace at index
idx
- Parameters:
esil – RzAnalysisEsil *, ESIL instance
idx – int, index of trace
- static fcn_invalidate_read_ahead_cache() None #
Calls function
rz_analysis_fcn_invalidate_read_ahead_cache
(defined in fcn.c)
- static fcn_vars_cache_fini() None #
Calls function
rz_analysis_fcn_vars_cache_fini
(defined in var.c)
- static function_free() None #
Calls function
rz_analysis_function_free
(defined in function.c)
- static function_is_autonamed() bool #
Calls function
rz_analysis_function_is_autonamed
(defined in function.c)Checks if the function name was generated by Rizin automatically.
- static function_name_guess(name: str) str #
Calls function
rz_analysis_function_name_guess
(defined in function.c)Checks if varions function name variations present in the database.
Tries to remove different prefixes from the Rizin autonames, standard libraries prefixes, various Windows-specific prefixes and checks every attempt in the function database. If there is a match - returns it.
- Parameters:
typedb – RzTypeDB instance
name – Function name to check
- static il_config_add_label(label: RzILEffectLabel) None #
Calls function
rz_analysis_il_config_add_label
(defined in analysis_il.c)Add
label
to the IL configcfg
to describe that it is globally available in a vm
- static il_config_free() None #
Calls function
rz_analysis_il_config_free
(defined in analysis_il.c)
- static il_config_new(big_endian: bool, mem_key_size: int) RzAnalysisILConfig #
Calls function
rz_analysis_il_config_new
(defined in analysis_il.c)Create an IL config and initialize it with the given minimal mandatory info
- static il_get_mem_op_trace(addr: int, op_type: RzILTraceOpType) RzILTraceMemOp #
Calls function
rz_analysis_il_get_mem_op_trace
(defined in il_trace.c)Find the memory change in an instruction by given address
- Parameters:
trace – RzILTraceInstruction *, instruction trace
addr – ut64, memory address
is_write – bool, true if you want to find a write operation to address, else find a read operation
- Returns:
RzILTraceMemOp *, info of memory change
- static il_get_reg_op_trace(regname: str, op_type: RzILTraceOpType) RzILTraceRegOp #
Calls function
rz_analysis_il_get_reg_op_trace
(defined in il_trace.c)Find the register change in an instruction by register name
- Parameters:
trace – RzILTraceInstruction *, instruction trace
regname – const char *, name of register
is_write – bool, true if you want to find a write operation to register, else find a read operation
- Returns:
RzILTraceRegOp *, info of register change
- static il_init_state_free() None #
Calls function
rz_analysis_il_init_state_free
(defined in analysis_il.c)
- static il_init_state_new() RzAnalysisILInitState #
Calls function
rz_analysis_il_init_state_new
(defined in analysis_il.c)
- static il_init_state_set_var(name: str, val: RzILVal) None #
Calls function
rz_analysis_il_init_state_set_var
(defined in analysis_il.c)Set the value of the global variable called
name
name toval
in the initial statestate
- static il_mem_trace_contains(addr: int, op_type: RzILTraceOpType) bool #
Calls function
rz_analysis_il_mem_trace_contains
(defined in il_trace.c)Check if instruction contains a read/write to given address
- Parameters:
trace – RzILTraceInstruction *, instruction trace
addr – ut64, Address of memory
is_write – bool, set true to find if it contains a write to address, else read
- Returns:
bool, true if contains, else return a false
- static il_reg_trace_contains(regname: str, op_type: RzILTraceOpType) bool #
Calls function
rz_analysis_il_reg_trace_contains
(defined in il_trace.c)Check if instruction contains a read/write to given register
- Parameters:
trace – RzILTraceInstruction *, instruction trace
regname – const char *, name of register
is_write – bool, set true to find if it contains a write to the register, else read
- Returns:
bool, true if contains, else return a false
- static il_trace_add_mem(mem: RzILTraceMemOp) bool #
Calls function
rz_analysis_il_trace_add_mem
(defined in il_trace.c)add memory change to an instruction trace
- Parameters:
trace – RzILTraceInstruction *, trace of instruction which triggers a memory change
mem – RzILTraceMemOp *, info of memory change
- Returns:
true if succeed
- static il_trace_add_reg(reg: RzILTraceRegOp) bool #
Calls function
rz_analysis_il_trace_add_reg
(defined in il_trace.c)add register change to an instruction trace
- Parameters:
trace – RzILTraceInstruction *, trace of instruction which triggers a register change
mem – RzILTraceRegOp *, info of register change
- Returns:
true if succeed
- static il_trace_instruction_free() None #
Calls function
rz_analysis_il_trace_instruction_free
(defined in il_trace.c)clean an IL trace
- Parameters:
instruction – RzILTraceInstruction, trace to be cleaned
- static il_trace_instruction_new() RzILTraceInstruction #
Calls function
rz_analysis_il_trace_instruction_new
(defined in il_trace.c)create and init a trace structure for an instruction at address
- Parameters:
addr – ut64, address of instruction
- Returns:
RzILTraceInstruction, trace structure of an instruction
- static il_vm_free() None #
Calls function
rz_analysis_il_vm_free
(defined in analysis_il.c)Frees an RzAnalysisILVM instance
- static il_vm_sync_from_reg(reg: RzReg) None #
Calls function
rz_analysis_il_vm_sync_from_reg
(defined in analysis_il.c)Set the values of all variables in
vm
that are bound to registers and PC to the respective contents fromreg
.This is like the low-level
rz_il_vm_sync_from_reg()
, but uses the binding that is part ofvm
. See its documentation for details.
- static il_vm_sync_to_reg(reg: RzReg) bool #
Calls function
rz_analysis_il_vm_sync_to_reg
(defined in analysis_il.c)Set the values of all bound regs in
reg
to the respective variable or PC contents invm
.This is like the low-level
rz_il_vm_sync_to_reg()
, but uses the binding that is part ofvm
. See its documentation for details.- Returns:
whether the sync was cleanly applied without errors or adjustments
- static new() RzAnalysis #
Calls function
rz_analysis_new
(defined in analysis.c)
- static op_family_from_string() int #
Calls function
rz_analysis_op_family_from_string
(defined in op.c)Return the op family id given its name
- Parameters:
name – string, name of the op family
- Returns:
id int, id of the operation family (one of RzAnalysisOpFamily)
- static op_family_to_string() str #
Calls function
rz_analysis_op_family_to_string
(defined in op.c)Return the name of the given op family
- Parameters:
id – int, id of the operation family (one of RzAnalysisOpFamily)
- Returns:
name string, name of the op family
- static op_is_eob() bool #
Calls function
rz_analysis_op_is_eob
(defined in analysis.c)
- static op_list_new() RzList[RzAnalysisOp] #
Calls function
rz_analysis_op_list_new
(defined in op.c)
- static optype_from_string() int #
Calls function
rz_analysis_optype_from_string
(defined in op.c)Return the op type corresponding the given name
- Parameters:
name – string, name of the optype
- Returns:
type int, id of the op type (one of _RzAnalysisOpType)
- static optype_to_string() str #
Calls function
rz_analysis_optype_to_string
(defined in op.c)Return the name of the given op type
- Parameters:
type – int, id of the op type (one of _RzAnalysisOpType)
- Returns:
name string, string, name of the optype
- static reflines_str(addr: int, opts: int) RzAnalysisRefStr #
Calls function
rz_analysis_reflines_str
(defined in reflines.c)
- static reflines_str_free() None #
Calls function
rz_analysis_reflines_str_free
(defined in reflines.c)
- static rtti_itanium_demangle_class_name(name: str) str #
Calls function
rz_analysis_rtti_itanium_demangle_class_name
(defined in rtti_itanium.c)
- static rtti_itanium_print_at_vtable(addr: int, mode: RzOutputMode) bool #
Calls function
rz_analysis_rtti_itanium_print_at_vtable
(defined in rtti_itanium.c)
- static rtti_itanium_recover_all(vtables: RzList[RVTableInfo]) None #
Calls function
rz_analysis_rtti_itanium_recover_all
(defined in rtti_itanium.c)
- static rtti_msvc_demangle_class_name(name: str) str #
Calls function
rz_analysis_rtti_msvc_demangle_class_name
(defined in rtti_msvc.c)Demangle a class name as found in MSVC RTTI type descriptors.
Examples: .?AVClassA@ => ClassA .?AVClassInInnerNamespace@InnerNamespace@OuterNamespace@ => OuterNamespace::InnerNamespace::AVClassInInnerNamespace
- static rtti_msvc_print_at_vtable(addr: int, mode: RzOutputMode, strict: bool) bool #
Calls function
rz_analysis_rtti_msvc_print_at_vtable
(defined in rtti_msvc.c)
- static rtti_msvc_print_base_class_descriptor(addr: int, mode: int) None #
Calls function
rz_analysis_rtti_msvc_print_base_class_descriptor
(defined in rtti_msvc.c)
- static rtti_msvc_print_class_hierarchy_descriptor(addr: int, mode: int) None #
Calls function
rz_analysis_rtti_msvc_print_class_hierarchy_descriptor
(defined in rtti_msvc.c)
- static rtti_msvc_print_complete_object_locator(addr: int, mode: int) None #
Calls function
rz_analysis_rtti_msvc_print_complete_object_locator
(defined in rtti_msvc.c)
- static rtti_msvc_print_type_descriptor(addr: int, mode: int) None #
Calls function
rz_analysis_rtti_msvc_print_type_descriptor
(defined in rtti_msvc.c)
- static rtti_msvc_recover_all(vtables: RzList[RVTableInfo]) None #
Calls function
rz_analysis_rtti_msvc_recover_all
(defined in rtti_msvc.c)
- static run_tasks() int #
Calls function
rz_analysis_run_tasks
(defined in fcn.c)Runs analysis on the task items.
Runs control-flow and variable usage analysis on each of the task items until tasks vector becomes empty. Items are removed from the tasks vector as they are processed. Items are added to the tasks vector as new basic blocks are found to be analyzed.
- Parameters:
tasks – Pointer to RzVector of RzAnalysisTaskItem to be performed analysis on.
- static rzil_trace_free() None #
Calls function
rz_analysis_rzil_trace_free
(defined in analysis_il_trace.c)Free an IL trace
- Parameters:
trace – trace to be free
- static switch_op_add_case(addr: int, value: int, jump: int) RzAnalysisCaseOp #
Calls function
rz_analysis_switch_op_add_case
(defined in switch.c)
- static switch_op_new(min_val: int, max_val: int, def_val: int) RzAnalysisSwitchOp #
Calls function
rz_analysis_switch_op_new
(defined in switch.c)
- static value_new_from_string() RzAnalysisValue #
Calls function
rz_analysis_value_new_from_string
(defined in value.c)
- static var_add_constraint(constraint: RzTypeConstraint) None #
Calls function
rz_analysis_var_add_constraint
(defined in var.c)
- static var_get_access_at(addr: int) RzAnalysisVarAccess #
Calls function
rz_analysis_var_get_access_at
(defined in var.c)
- static var_get_constraints_readable() str #
Calls function
rz_analysis_var_get_constraints_readable
(defined in var.c)
- static var_get_dst_var() RzAnalysisVar #
Calls function
rz_analysis_var_get_dst_var
(defined in var.c)
- static var_global_add_constraint(constraint: RzTypeConstraint) None #
Calls function
rz_analysis_var_global_add_constraint
(defined in var_global.c)Add a constaint to global variable.
- Parameters:
glob – Global variable instance
constraint – RzTypeConstraint
- Returns:
void
- static var_global_free() None #
Calls function
rz_analysis_var_global_free
(defined in var_global.c)Free the global variable instance.
- Parameters:
glob – Global variable instance
- Returns:
void
- static var_global_get_constraints_readable() str #
Calls function
rz_analysis_var_global_get_constraints_readable
(defined in var_global.c)Get the pritable string of global variable constraints.
- Parameters:
glob – Global variable instance
- Returns:
char *
- static var_global_get_flag_item() RzFlagItem #
Calls function
rz_analysis_var_global_get_flag_item
(defined in var_global.c)Get the flag item corresponding to the given variable.
This will search for the matching flag that has been created along with the global variable. It can happen that the flag has manually been deleted, in which case this returns NULL.
- Returns:
a flag item or NULL
- static var_global_new(addr: int) RzAnalysisVarGlobal #
Calls function
rz_analysis_var_global_new
(defined in var_global.c)Create a new instance of global variable.
- Parameters:
name – variable name
addr – variable address
comment – variable comment
- Returns:
RzAnalysisVarGlobal *
- static var_global_set_type(type: RzType) None #
Calls function
rz_analysis_var_global_set_type
(defined in var_global.c)Set the type of the global variable.
- Parameters:
glob – Global variable instance
type – The type to set. RzType*
- Returns:
void
- static var_remove_access_at(address: int) None #
Calls function
rz_analysis_var_remove_access_at
(defined in var.c)
- static var_rename(new_name: str, verbose: bool) bool #
Calls function
rz_analysis_var_rename
(defined in var.c)
- static var_resolve_overlaps() None #
Calls function
rz_analysis_var_resolve_overlaps
(defined in var.c)
- static var_set_access(reg: str, access_addr: int, access_type: int, stackptr: int) None #
Calls function
rz_analysis_var_set_access
(defined in var.c)
- static var_set_type(type: RzType, resolve_overlaps: bool) None #
Calls function
rz_analysis_var_set_type
(defined in var.c)
- static vtable_info_get_size(vtable: RVTableInfo) int #
Calls function
rz_analysis_vtable_info_get_size
(defined in vtable.c)
- static vtable_parse_at(addr: int) RVTableInfo #
Calls function
rz_analysis_vtable_parse_at
(defined in vtable.c)
- static vtable_search() RzList[RVTableInfo] #
Calls function
rz_analysis_vtable_search
(defined in vtable.c)
- static xref_list_new() RzList[RzAnalysisXRef] #
Calls function
rz_analysis_xref_list_new
(defined in xrefs.c)
- static xrefs_type_tostring() str #
Calls function
rz_analysis_xrefs_type_tostring
(defined in xrefs.c)
- add(foo: RzAnalysisPlugin) int #
Calls function
rz_analysis_add
(defined in analysis.c)
- add_function(fcn: RzAnalysisFunction) bool #
Calls function
rz_analysis_add_function
(defined in function.c)
- add_import(imp: str) None #
Calls function
rz_analysis_add_import
(defined in analysis.c)
- addr_hints_at(addr: int) RzVector[RzAnalysisAddrHintRecord] #
Calls function
rz_analysis_addr_hints_at
(defined in hint.c)
- addr_hints_foreach(cb: RzAnalysisAddrHintRecordsCb, user: Any) None #
Calls function
rz_analysis_addr_hints_foreach
(defined in hint.c)
- arch_hints_foreach(cb: RzAnalysisArchHintCb, user: Any) None #
Calls function
rz_analysis_arch_hints_foreach
(defined in hint.c)
- archinfo(query: int) int #
Calls function
rz_analysis_archinfo
(defined in analysis.c)
- bind(bnd: RzAnalysisBind) None #
Calls function
rz_analysis_bind
(defined in analysis.c)
- bits_hints_foreach(cb: RzAnalysisBitsHintCb, user: Any) None #
Calls function
rz_analysis_bits_hints_foreach
(defined in hint.c)
- blocks_foreach_in(addr: int, cb: RzAnalysisBlockCb, user: Any) bool #
Calls function
rz_analysis_blocks_foreach_in
(defined in block.c)
- blocks_foreach_intersect(addr: int, size: int, cb: RzAnalysisBlockCb, user: Any) None #
Calls function
rz_analysis_blocks_foreach_intersect
(defined in block.c)
- calling_conventions() RzList[char] #
Calls function
rz_analysis_calling_conventions
(defined in cc.c)
- cc_set_error(convention: str, error: str) None #
Calls function
rz_analysis_cc_set_error
(defined in cc.c)
- cc_set_self(convention: str, _self: str) None #
Calls function
rz_analysis_cc_set_self
(defined in cc.c)
- check_fcn(buf: int, bufsz: int, addr: int, low: int, high: int) bool #
Calls function
rz_analysis_check_fcn
(defined in fcn.c)
- class_base_delete(class_name: str, base_id: str) RzAnalysisClassErr #
Calls function
rz_analysis_class_base_delete
(defined in class.c)
- class_base_get(class_name: str, base_id: str, base: RzAnalysisBaseClass) RzAnalysisClassErr #
Calls function
rz_analysis_class_base_get
(defined in class.c)
- class_base_get_all(class_name: str) RzVector[RzAnalysisBaseClass] #
Calls function
rz_analysis_class_base_get_all
(defined in class.c)
- class_base_set(class_name: str, base: RzAnalysisBaseClass) RzAnalysisClassErr #
Calls function
rz_analysis_class_base_set
(defined in class.c)
- class_create(name: str) RzAnalysisClassErr #
Calls function
rz_analysis_class_create
(defined in class.c)
- class_foreach(cb: SdbForeachCallback, user: Any) None #
Calls function
rz_analysis_class_foreach
(defined in class.c)
- class_get_inheritance_graph() RzGraph #
Calls function
rz_analysis_class_get_inheritance_graph
(defined in class.c)Creates RzGraph from class inheritance information where each node has RzGraphNodeInfo as generic data.
- Parameters:
analysis –
- Returns:
RzGraph* NULL if failure
- class_method_delete(class_name: str, meth_name: str) RzAnalysisClassErr #
Calls function
rz_analysis_class_method_delete
(defined in class.c)
- class_method_exists(class_name: str, meth_name: str) bool #
Calls function
rz_analysis_class_method_exists
(defined in class.c)
- class_method_exists_by_addr(class_name: str, addr: int) bool #
Calls function
rz_analysis_class_method_exists_by_addr
(defined in class.c)
- class_method_get(class_name: str, meth_name: str, meth: RzAnalysisMethod) RzAnalysisClassErr #
Calls function
rz_analysis_class_method_get
(defined in class.c)
- class_method_get_all(class_name: str) RzVector[RzAnalysisMethod] #
Calls function
rz_analysis_class_method_get_all
(defined in class.c)
- class_method_get_by_addr(class_name: str, addr: int, method: RzAnalysisMethod) RzAnalysisClassErr #
Calls function
rz_analysis_class_method_get_by_addr
(defined in class.c)
- class_method_recover(cls: RzBinClass, methods: RzList[RzBinSymbol]) None #
Calls function
rz_analysis_class_method_recover
(defined in class.c)
- class_method_rename(class_name: str, old_meth_name: str, new_meth_name: str) RzAnalysisClassErr #
Calls function
rz_analysis_class_method_rename
(defined in class.c)
- class_method_set(class_name: str, meth: RzAnalysisMethod) RzAnalysisClassErr #
Calls function
rz_analysis_class_method_set
(defined in class.c)
- class_recover_from_rzbin() None #
Calls function
rz_analysis_class_recover_from_rzbin
(defined in class.c)
- class_rename(old_name: str, new_name: str) RzAnalysisClassErr #
Calls function
rz_analysis_class_rename
(defined in class.c)
- class_vtable_delete(class_name: str, vtable_id: str) RzAnalysisClassErr #
Calls function
rz_analysis_class_vtable_delete
(defined in class.c)
- class_vtable_get(class_name: str, vtable_id: str, vtable: RzAnalysisVTable) RzAnalysisClassErr #
Calls function
rz_analysis_class_vtable_get
(defined in class.c)
- class_vtable_get_all(class_name: str) RzVector[RzAnalysisVTable] #
Calls function
rz_analysis_class_vtable_get_all
(defined in class.c)
- class_vtable_set(class_name: str, vtable: RzAnalysisVTable) RzAnalysisClassErr #
Calls function
rz_analysis_class_vtable_set
(defined in class.c)
- create_block(addr: int, size: int) RzAnalysisBlock #
Calls function
rz_analysis_create_block
(defined in block.c)
- create_function(name: str, addr: int, type: int, diff: RzAnalysisDiff) RzAnalysisFunction #
Calls function
rz_analysis_create_function
(defined in function.c)
- data(addr: int, buf: int, size: int, wordsize: int) RzAnalysisData #
Calls function
rz_analysis_data
(defined in data.c)
- data_kind(addr: int, buf: int, len: int) str #
Calls function
rz_analysis_data_kind
(defined in data.c)
- del_jmprefs(fcn: RzAnalysisFunction) None #
Calls function
rz_analysis_del_jmprefs
(defined in fcn.c)
- diff_bb(fcn: RzAnalysisFunction, fcn2: RzAnalysisFunction) bool #
Calls function
rz_analysis_diff_bb
(defined in diff.c)
- diff_fcn(fcns: RzList[RzAnalysisFunction], fcns2: RzList[RzAnalysisFunction]) int #
Calls function
rz_analysis_diff_fcn
(defined in diff.c)
- diff_fingerprint_bb(bb: RzAnalysisBlock) int #
Calls function
rz_analysis_diff_fingerprint_bb
(defined in diff.c)
- diff_fingerprint_fcn(fcn: RzAnalysisFunction) size_t #
Calls function
rz_analysis_diff_fingerprint_fcn
(defined in diff.c)
- diff_setup(doops: int, thbb: float, thfcn: float) None #
Calls function
rz_analysis_diff_setup
(defined in diff.c)
- diff_setup_i(doops: int, thbb: int, thfcn: int) None #
Calls function
rz_analysis_diff_setup_i
(defined in diff.c)
- dwarf_integrate_functions(flags: RzFlag, dwarf_sdb: Sdb) None #
Calls function
rz_analysis_dwarf_integrate_functions
(defined in dwarf_process.c)Use parsed DWARF function info from Sdb in the function analysis XXX right now we only save parsed name and variables, we can’t use signature now XXX refactor to be more readable.
- Parameters:
analysis –
dwarf_sdb –
- dwarf_process_info(ctx: RzAnalysisDwarfContext) None #
Calls function
rz_analysis_dwarf_process_info
(defined in dwarf_process.c)Parses type and function information out of DWARF entries and stores them to the sdb for further use.
- Parameters:
analysis –
ctx –
- extract_rarg(op: RzAnalysisOp, fcn: RzAnalysisFunction, reg_set: int, count: int) None #
Calls function
rz_analysis_extract_rarg
(defined in var.c)
- extract_vars(fcn: RzAnalysisFunction, op: RzAnalysisOp) None #
Calls function
rz_analysis_extract_vars
(defined in var.c)
- fcn(fcn: RzAnalysisFunction, addr: int, len: int, reftype: int) int #
Calls function
rz_analysis_fcn
(defined in fcn.c)
- fcn_add_bb(fcn: RzAnalysisFunction, addr: int, size: int, jump: int, fail: int, diff: RzAnalysisDiff) bool #
Calls function
rz_analysis_fcn_add_bb
(defined in fcn.c)
- fcn_bbget_at(fcn: RzAnalysisFunction, addr: int) RzAnalysisBlock #
Calls function
rz_analysis_fcn_bbget_at
(defined in fcn.c)
- fcn_bbget_in(fcn: RzAnalysisFunction, addr: int) RzAnalysisBlock #
Calls function
rz_analysis_fcn_bbget_in
(defined in fcn.c)
- fcn_format_sig(fcn: RzAnalysisFunction, fcn_name: str, reuse_cache: RzAnalysisFcnVarsCache, fcn_name_pre: str, fcn_name_post: str) str #
Calls function
rz_analysis_fcn_format_sig
(defined in var.c)
- fcn_next(addr: int) RzAnalysisFunction #
Calls function
rz_analysis_fcn_next
(defined in fcn.c)
- fcn_vars_add_types(fcn: RzAnalysisFunction) None #
Calls function
rz_analysis_fcn_vars_add_types
(defined in var.c)Updates the types database for function arguments.
Searches if the types database has the function with the same name. if there is a match - updates the RzCallable type of the function by adding the new function arguments’ types.
- Parameters:
analysis – RzAnalysis instance
fcn – Function which arguments we should save into the types database
- fcn_vars_cache_init(cache: RzAnalysisFcnVarsCache, fcn: RzAnalysisFunction) None #
Calls function
rz_analysis_fcn_vars_cache_init
(defined in var.c)
- find_most_relevant_block_in(off: int) RzAnalysisBlock #
Calls function
rz_analysis_find_most_relevant_block_in
(defined in block.c)Find a single block that seems to be the “most relevant” one that contains the given offset. This should only be used when explicitly only a single basic block should be considered, for example for user-exposed features, since it can always be that multiple blocks overlap. Use rz_analysis_get_blocks_in() in all other cases!
- free() RzAnalysis #
Calls function
rz_analysis_free
(defined in analysis.c)
- function_arg_count(fcn: RzAnalysisFunction) size_t #
Calls function
rz_analysis_function_arg_count
(defined in fcn.c)Returns the argument count of a function.
- Parameters:
a – RzAnalysis instance
f – Function
- function_args(fcn: RzAnalysisFunction) RzPVector[RzAnalysisVar] #
Calls function
rz_analysis_function_args
(defined in fcn.c)Returns vector of all function arguments.
- Parameters:
a – RzAnalysis instance
f – Function
- function_derive_type(f: RzAnalysisFunction) RzCallable #
Calls function
rz_analysis_function_derive_type
(defined in fcn.c)Derives the RzCallable type for the given function.
Checks if the type is defined already for this function, if yes - it returns pointer to the one stored in the types database. If not - it creates a new RzCallable instance based on the function name, its arguments’ names and types.
- Parameters:
analysis – RzAnalysis instance
f – Function to update
- function_list() RzList[RzAnalysisFunction] #
Calls function
rz_analysis_function_list
(defined in function.c)
- function_new() RzAnalysisFunction #
Calls function
rz_analysis_function_new
(defined in function.c)
- function_rebase_vars(fcn: RzAnalysisFunction) bool #
Calls function
rz_analysis_function_rebase_vars
(defined in var.c)
- function_set_type(f: RzAnalysisFunction, callable: RzCallable) bool #
Calls function
rz_analysis_function_set_type
(defined in fcn.c)Sets the RzCallable type for the given function.
Checks if the type is defined already for this function, if yes - it removes the existing one and sets the one defined by the RzCallable. If there is a mismatch between existing arguments - it overwrites their types and names, removes arguments if necessary.
- Parameters:
a – RzAnalysis instance
f – Function to update
callable – A function type
- function_set_type_str(f: RzAnalysisFunction, sig: str) bool #
Calls function
rz_analysis_function_set_type_str
(defined in fcn.c)Parses the function type and sets it for the given function.
Checks if the type is defined already for this function, if yes - it removes the existing one and parses the one defined in the signature. The function type should be valid C syntax supplied with name, like int *func(char arg0, const int *arg1, float foo[]);
- Parameters:
a – RzAnalysis instance
f – Function to update
sig – A function type (“signature” or “prototype”)
- get_address_bits() int #
Calls function
rz_analysis_get_address_bits
(defined in analysis.c)The actual size of an address in bits.
This may differ from analysis.bits in some cases such as arm thumb being identified as bits=16, but still using 32-bit addresses, or “8-bit” architectures like 6502 which still use 16-bit addresses.
- get_block_at(addr: int) RzAnalysisBlock #
Calls function
rz_analysis_get_block_at
(defined in block.c)
- get_blocks_in(addr: int) RzList[RzAnalysisBlock] #
Calls function
rz_analysis_get_blocks_in
(defined in block.c)
- get_blocks_intersect(addr: int, size: int) RzList[RzAnalysisBlock] #
Calls function
rz_analysis_get_blocks_intersect
(defined in block.c)
- get_delta_jmptbl_info(fcn: RzAnalysisFunction, jmp_address: int, lea_address: int, params: RzAnalysisJmpTableParams) bool #
Calls function
rz_analysis_get_delta_jmptbl_info
(defined in jmptbl.c)Gets some necessary information about a jump table to perform analysis on.
Gets amount of cases inside a jump table, the default case address and the case shift amount
- Parameters:
analysis – Pointer to RzAnalysis instance
fcn – Pointer to RzAnalysisFunction where jump table ocurred
jmp_address – Address of jump intruction that uses the table
lea_addr – Address of lea instruction that loads the address of the jump table base
params – Pointer to RzAnalysisJmpTableParams where the results of the function are stored
- get_fcn_in(addr: int, type: int) RzAnalysisFunction #
Warning
Calls deprecated function
rz_analysis_get_fcn_in
Calls function
rz_analysis_get_fcn_in
(defined in fcn.c)
- get_fcn_in_bounds(addr: int, type: int) RzAnalysisFunction #
Warning
Calls deprecated function
rz_analysis_get_fcn_in_bounds
Calls function
rz_analysis_get_fcn_in_bounds
(defined in fcn.c)
- get_fcns() RzList[RzAnalysisFunction] #
Calls function
rz_analysis_get_fcns
(defined in analysis.c)
- get_function_at(addr: int) RzAnalysisFunction #
Calls function
rz_analysis_get_function_at
(defined in function.c)
- get_function_byname(name: str) RzAnalysisFunction #
Calls function
rz_analysis_get_function_byname
(defined in fcn.c)
- get_functions_in(addr: int) RzList[RzAnalysisFunction] #
Calls function
rz_analysis_get_functions_in
(defined in function.c)
- get_jmptbl_info(fcn: RzAnalysisFunction, block: RzAnalysisBlock, jmp_address: int, params: RzAnalysisJmpTableParams) bool #
Calls function
rz_analysis_get_jmptbl_info
(defined in jmptbl.c)Gets some necessary information about a jump table to perform analysis on.
Gets amount of cases inside a jump table, the default case address and the case shift amount
- Parameters:
analysis – Pointer to RzAnalysis instance
fcn – Pointer to RzAnalysisFunction where jump table ocurred
block – Pointer to RzAnalysisBlock where the jump instruction related to the jump table ocurred
jmp_address – Address of jump intruction that uses the table
params – Pointer to RzAnalysisJmpTableParams where the results of the function are stored
- get_reflines(addr: int, buf: int, len: int, nlines: int, linesout: int, linescall: int) RzList[RzAnalysisRefline] #
Calls function
rz_analysis_reflines_get
(defined in reflines.c)
- get_reg_profile() str #
Calls function
rz_analysis_get_reg_profile
(defined in analysis.c)
- get_used_function_var(addr: int) RzAnalysisVar #
Warning
Calls deprecated function
rz_analysis_get_used_function_var
Calls function
rz_analysis_get_used_function_var
(defined in var.c)
- hint_arch_at(addr: int, hint_addr: int) str #
Calls function
rz_analysis_hint_arch_at
(defined in hint.c)
- hint_bits_at(addr: int, hint_addr: int) int #
Calls function
rz_analysis_hint_bits_at
(defined in hint.c)
- hint_set_arch(addr: int, arch: str) None #
Calls function
rz_analysis_hint_set_arch
(defined in hint.c)
- hint_set_bits(addr: int, bits: int) None #
Calls function
rz_analysis_hint_set_bits
(defined in hint.c)
- hint_set_esil(addr: int, str: str) None #
Calls function
rz_analysis_hint_set_esil
(defined in hint.c)
- hint_set_fail(addr: int, fail: int) None #
Calls function
rz_analysis_hint_set_fail
(defined in hint.c)
- hint_set_immbase(addr: int, base: int) None #
Calls function
rz_analysis_hint_set_immbase
(defined in hint.c)
- hint_set_jump(addr: int, jump: int) None #
Calls function
rz_analysis_hint_set_jump
(defined in hint.c)
- hint_set_newbits(addr: int, bits: int) None #
Calls function
rz_analysis_hint_set_newbits
(defined in hint.c)
- hint_set_nword(addr: int, nword: int) None #
Calls function
rz_analysis_hint_set_nword
(defined in hint.c)
- hint_set_offset(addr: int, typeoff: str) None #
Calls function
rz_analysis_hint_set_offset
(defined in hint.c)
- hint_set_opcode(addr: int, str: str) None #
Calls function
rz_analysis_hint_set_opcode
(defined in hint.c)
- hint_set_pointer(addr: int, ptr: int) None #
Calls function
rz_analysis_hint_set_pointer
(defined in hint.c)
- hint_set_ret(addr: int, val: int) None #
Calls function
rz_analysis_hint_set_ret
(defined in hint.c)
- hint_set_size(addr: int, size: int) None #
Calls function
rz_analysis_hint_set_size
(defined in hint.c)
- hint_set_stackframe(addr: int, size: int) None #
Calls function
rz_analysis_hint_set_stackframe
(defined in hint.c)
- hint_set_syntax(addr: int, syn: str) None #
Calls function
rz_analysis_hint_set_syntax
(defined in hint.c)
- hint_set_type(addr: int, type: int) None #
Calls function
rz_analysis_hint_set_type
(defined in hint.c)
- hint_unset_immbase(addr: int) None #
Calls function
rz_analysis_hint_unset_immbase
(defined in hint.c)
- hint_unset_newbits(addr: int) None #
Calls function
rz_analysis_hint_unset_newbits
(defined in hint.c)
- hint_unset_offset(addr: int) None #
Calls function
rz_analysis_hint_unset_offset
(defined in hint.c)
- hint_unset_opcode(addr: int) None #
Calls function
rz_analysis_hint_unset_opcode
(defined in hint.c)
- hint_unset_pointer(addr: int) None #
Calls function
rz_analysis_hint_unset_pointer
(defined in hint.c)
- hint_unset_stackframe(addr: int) None #
Calls function
rz_analysis_hint_unset_stackframe
(defined in hint.c)
- hint_unset_syntax(addr: int) None #
Calls function
rz_analysis_hint_unset_syntax
(defined in hint.c)
- il_vm_cleanup() None #
Calls function
rz_analysis_il_vm_cleanup
(defined in analysis_il.c)Destroy the global user-faced vm
- il_vm_new(init_state_reg: RzReg) RzAnalysisILVM #
Calls function
rz_analysis_il_vm_new
(defined in analysis_il.c)Create and initialize an RzAnalysisILVM with the current arch/cpu/bits configuration and plugin
init_state_reg
optional RzReg to take variable values from, unless the plugin overrides them using RzAnalysisILInitState- Returns:
RzAnalysisRzil* a pointer to RzAnalysisILVM instance
- il_vm_setup() bool #
Calls function
rz_analysis_il_vm_setup
(defined in analysis_il.c)(Re)initialize the global user-faced vm
- Returns:
whether the init succeeded
- il_vm_step(vm: RzAnalysisILVM, reg: RzReg) RzAnalysisILStepResult #
Calls function
rz_analysis_il_vm_step
(defined in analysis_il.c)Perform a single step in the VM
If given, this syncs the contents of
reg
into the vm. Then it disassembles an instruction at the program counter of the vm and executes it. Finally, if no error occured, the contents are optionally synced back toreg
.- Returns:
and indicator for which error occured, if any
- is_prelude(data: int, len: int) bool #
Calls function
rz_analysis_is_prelude
(defined in analysis.c)
- jmptbl(fcn: RzAnalysisFunction, block: RzAnalysisBlock, jmpaddr: int, table: int, tablesize: int, default_addr: int) bool #
Calls function
rz_analysis_jmptbl
(defined in jmptbl.c)
- list_vtables(mode: RzOutputMode) None #
Calls function
rz_analysis_list_vtables
(defined in vtable.c)
- mask(size: int, data: int, at: int) int #
Calls function
rz_analysis_mask
(defined in analysis.c)
- noreturn_add(name: str, addr: int) bool #
Calls function
rz_analysis_noreturn_add
(defined in analysis.c)
- noreturn_at(addr: int) bool #
Calls function
rz_analysis_noreturn_at
(defined in analysis.c)
- noreturn_at_addr(addr: int) bool #
Calls function
rz_analysis_noreturn_at_addr
(defined in analysis.c)
- noreturn_drop(expr: str) bool #
Calls function
rz_analysis_noreturn_drop
(defined in analysis.c)
- noreturn_functions() RzList[char] #
Calls function
rz_analysis_noreturn_functions
(defined in analysis.c)
- op(op: RzAnalysisOp, addr: int, data: int, len: int, mask: RzAnalysisOpMask) int #
Calls function
rz_analysis_op
(defined in op.c)
- op_hexstr(addr: int, hexstr: str) RzAnalysisOp #
Calls function
rz_analysis_op_hexstr
(defined in analysis.c)
- preludes() RzList[RzSearchKeyword] #
Calls function
rz_analysis_preludes
(defined in analysis.c)
- purge() None #
Calls function
rz_analysis_purge
(defined in analysis.c)
- purge_imports() None #
Calls function
rz_analysis_purge_imports
(defined in analysis.c)
- reflines_middle(list: RzList[RzAnalysisRefline], addr: int, len: int) int #
Calls function
rz_analysis_reflines_middle
(defined in reflines.c)
- remove_import(imp: str) None #
Calls function
rz_analysis_remove_import
(defined in analysis.c)
- rtti_demangle_class_name(name: str) str #
Calls function
rz_analysis_rtti_demangle_class_name
(defined in rtti.c)
- rtti_print_all(mode: RzOutputMode) None #
Calls function
rz_analysis_rtti_print_all
(defined in rtti.c)
- rtti_print_at_vtable(addr: int, mode: RzOutputMode) None #
Calls function
rz_analysis_rtti_print_at_vtable
(defined in rtti.c)
- rzil_trace_new(rzil: RzAnalysisILVM) RzAnalysisRzilTrace #
Calls function
rz_analysis_rzil_trace_new
(defined in analysis_il_trace.c)Create a new trace to collect infos
- Parameters:
analysis – pointer to RzAnalysis
rzil – RZ_IL instance
- Returns:
pointer to RzilTrace
- rzil_trace_op(rzil: RzAnalysisILVM, op: RzAnalysisLiftedILOp) None #
Calls function
rz_analysis_rzil_trace_op
(defined in analysis_il_trace.c)This function should be called after executing the IL op Collect trace info (target and data of mem/reg read/write)
- Parameters:
analysis – RzAnalysis
rzil – IL instance
op – RzAnalysisRzilOp, a general IL op structure (Designed for switching between different implementations of IL op struct)
- set_big_endian(boolean: int) int #
Calls function
rz_analysis_set_big_endian
(defined in analysis.c)
- set_bits(bits: int) bool #
Calls function
rz_analysis_set_bits
(defined in analysis.c)
- set_cpu(cpu: str) None #
Calls function
rz_analysis_set_cpu
(defined in analysis.c)
- set_limits(from: int, to: int) None #
Calls function
rz_analysis_set_limits
(defined in analysis.c)
- set_os(os: str) bool #
Calls function
rz_analysis_set_os
(defined in analysis.c)
- set_reg_profile() bool #
Calls function
rz_analysis_set_reg_profile
(defined in analysis.c)
- set_syscc_default(convention: str) None #
Calls function
rz_analysis_set_syscc_default
(defined in cc.c)
- set_triplet(os: str, arch: str, bits: int) bool #
Calls function
rz_analysis_set_triplet
(defined in analysis.c)
- task_item_new(tasks: RzVector[RzAnalysisTaskItem], fcn: RzAnalysisFunction, block: RzAnalysisBlock, address: int) bool #
Calls function
rz_analysis_task_item_new
(defined in fcn.c)Adds a new task item to the
tasks
parameter.Used to create a new item to the
tasks
parameter that can be worked on later by therz_analysis_run_tasks
function.- Parameters:
analysis – Pointer to RzAnalysis instance.
tasks – Pointer to RzVector to add a new RzAnalysisTaskItem to.
fcn – Pointer to RzAnalysisFunction in which analysis will be performed on.
block – Pointer to RzAnalysisBlock in which analysis will be performed on. If null, analysis will take care of block creation.
address – Address where analysis will start from
- trace_bb(addr: int) None #
Calls function
rz_analysis_trace_bb
(defined in analysis.c)
- trim_jmprefs(fcn: RzAnalysisFunction) None #
Calls function
rz_analysis_trim_jmprefs
(defined in fcn.c)
- type_link_at(addr: int) RzType #
Calls function
rz_analysis_type_link_at
(defined in typelink.c)Returns the RzType linked to the given address.
- Parameters:
analysis – RzAnalysis instance
addr – The address to check the link at
- type_link_exists(addr: int) bool #
Calls function
rz_analysis_type_link_exists
(defined in typelink.c)Checks if the RzType linked to the given address.
- Parameters:
analysis – RzAnalysis instance
addr – The address to check the link at
- type_links() RzList[RzType] #
Calls function
rz_analysis_type_links
(defined in typelink.c)Returns the list of all linked types.
- Parameters:
analysis – RzAnalysis instance
- type_links_by_offset(offset: int) RzList[RzTypePath] #
Calls function
rz_analysis_type_links_by_offset
(defined in typelink.c)Returns the list of all structured types that are linked and have members matching the offset.
- Parameters:
analysis – RzAnalysis instance
offset – The offset of the member to match against
- type_paths_by_address(addr: int) RzList[RzTypePath] #
Calls function
rz_analysis_type_paths_by_address
(defined in typelink.c)Returns the list of all type paths that are linked to some address and have suitable offset.
- Parameters:
analysis – RzAnalysis instance
addr – The address to check against possible matches
- type_set_link(type: RzType, addr: int) bool #
Calls function
rz_analysis_type_set_link
(defined in typelink.c)Links the given RzType to the address.
- Parameters:
analysis – RzAnalysis instance
type – RzType to link
addr – The address to add the type link
- type_unlink(addr: int) bool #
Calls function
rz_analysis_type_unlink
(defined in typelink.c)Removes the type link given the address.
- Parameters:
analysis – RzAnalysis instance
addr – The address to remove the type link from
- type_unlink_all() bool #
Calls function
rz_analysis_type_unlink_all
(defined in typelink.c)Removes all type links.
- Parameters:
analysis – RzAnalysis instance
- types_from_fcn(fcn: RzAnalysisFunction) RzList[RzType] #
Calls function
rz_analysis_types_from_fcn
(defined in fcn.c)
- unset_limits() None #
Calls function
rz_analysis_unset_limits
(defined in analysis.c)
- update_analysis_range(addr: int, size: int) None #
Calls function
rz_analysis_update_analysis_range
(defined in fcn.c)
- use(name: str) bool #
Calls function
rz_analysis_use
(defined in analysis.c)
- value_set_ut64(val: RzAnalysisValue, num: int) int #
Calls function
rz_analysis_value_set_ut64
(defined in value.c)
- value_to_ut64(val: RzAnalysisValue) int #
Calls function
rz_analysis_value_to_ut64
(defined in value.c)
- var_all_list(fcn: RzAnalysisFunction) RzList[RzAnalysisVar] #
Warning
Calls deprecated function
rz_analysis_var_all_list
Calls function
rz_analysis_var_all_list
(defined in var.c)
- var_count(fcn: RzAnalysisFunction, kind: int, type: int) int #
Calls function
rz_analysis_var_count
(defined in var.c)
- var_global_add(global_var: RzAnalysisVarGlobal) bool #
Calls function
rz_analysis_var_global_add
(defined in var_global.c)Add the global variable into hashtable.
- Parameters:
analysis – RzAnalysis
global_var – Global variable instance
- Returns:
true if succeed
- var_global_delete(glob: RzAnalysisVarGlobal) bool #
Calls function
rz_analysis_var_global_delete
(defined in var_global.c)Delete and free the global variable.
- Parameters:
analysis – RzAnalysis
glob – global variable to be deleted
- Returns:
true if succeed
- var_global_delete_byaddr_at(addr: int) bool #
Calls function
rz_analysis_var_global_delete_byaddr_at
(defined in var_global.c)Same as rz_analysis_var_global_delete_byname at the address.
- Parameters:
analysis – RzAnalysis
addr – Global Variable address
- Returns:
true if succeed
- var_global_delete_byaddr_in(addr: int) bool #
Calls function
rz_analysis_var_global_delete_byaddr_in
(defined in var_global.c)Same as rz_analysis_var_global_delete_byname in the address.
- Parameters:
analysis – RzAnalysis
addr – Global Variable address
- Returns:
true if succeed
- var_global_delete_byname(name: str) bool #
Calls function
rz_analysis_var_global_delete_byname
(defined in var_global.c)Delete and free the global variable by its name.
- Parameters:
analysis – RzAnalysis
name – Global Variable name
- Returns:
true if succeed
- var_global_get_all() RzList[RzAnalysisVarGlobal] #
Calls function
rz_analysis_var_global_get_all
(defined in var_global.c)Get all of the added global variables.
- Parameters:
analysis – RzAnalysis
- Returns:
RzList *
- var_global_get_byaddr_at(addr: int) RzAnalysisVarGlobal #
Calls function
rz_analysis_var_global_get_byaddr_at
(defined in var_global.c)Get the instance of global variable at the address.
- Parameters:
analysis – RzAnalysis
addr – Global variable address
- Returns:
RzAnalysisVarGlobal *
- var_global_get_byaddr_in(addr: int) RzAnalysisVarGlobal #
Calls function
rz_analysis_var_global_get_byaddr_in
(defined in var_global.c)Get the instance of global variable contains the address.
- Parameters:
analysis – RzAnalysis
addr – Global variable address
- Returns:
RzAnalysisVarGlobal *
- var_global_get_byname(name: str) RzAnalysisVarGlobal #
Calls function
rz_analysis_var_global_get_byname
(defined in var_global.c)Get the instance of global variable by its name.
- Parameters:
analysis – RzAnalysis
name – Global variable name
- Returns:
RzAnalysisVarGlobal *
- var_global_rename(old_name: str, newname: str) bool #
Calls function
rz_analysis_var_global_rename
(defined in var_global.c)Rename the global variable.
- Parameters:
analysis – RzAnalysis
old_name – The old name of the global variable
newname – The new name of the global variable
- Returns:
true if succeed
- var_list(fcn: RzAnalysisFunction, kind: int) RzList[RzAnalysisVar] #
Calls function
rz_analysis_var_list
(defined in var.c)
- vtable_begin(context: RVTableContext) bool #
Calls function
rz_analysis_vtable_begin
(defined in vtable.c)
- walkthrough_arm_jmptbl_style(fcn: RzAnalysisFunction, block: RzAnalysisBlock, params: RzAnalysisJmpTableParams) bool #
Calls function
rz_analysis_walkthrough_arm_jmptbl_style
(defined in jmptbl.c)Marks for analysis ARM specific jump table cases.
This function works similarly to
rz_analysis_walkthrough_jmptbl
, but is specific to ARM- Parameters:
analysis – Pointer to RzAnalysis instance
fcn – Pointer to RzAnalysisFunction to add the new cases
block – Pointer to RzAnalysisBlock that originates the switch table
params – Pointer to RzAnalysisJmpTableParams necessary to analyze the jump table
- walkthrough_casetbl(fcn: RzAnalysisFunction, block: RzAnalysisBlock, params: RzAnalysisJmpTableParams) bool #
Calls function
rz_analysis_walkthrough_casetbl
(defined in jmptbl.c)Marks for analysis jump table cases with a space optimization for multiple cases corresponding to the same address.
This function works similarly to
rz_analysis_walkthrough_jmptbl
, with the difference that jump targets are hidden behind a indirection in the case table- Parameters:
analysis – Pointer to RzAnalysis instance
fcn – Pointer to RzAnalysisFunction to add the new cases
block – Pointer to RzAnalysisBlock that originates the switch table
params – Pointer to RzAnalysisJmpTableParams necessary to analyze the jump table
- walkthrough_jmptbl(fcn: RzAnalysisFunction, block: RzAnalysisBlock, params: RzAnalysisJmpTableParams) bool #
Calls function
rz_analysis_walkthrough_jmptbl
(defined in jmptbl.c)Marks the jump table cases for analysis.
Goes through each case on the jump table, adds necessary flags/metadata and a new RzAnalysisTaskItem to
params->tasks
to be analyzed later.- Parameters:
analysis – Pointer to RzAnalysis instance
fcn – Pointer to RzAnalysisFunction to add the new cases
block – Pointer to RzAnalysisBlock that originates the switch table
params – Pointer to RzAnalysisJmpTableParams necessary to analyze the jump table
- xrefs_deln(from: int, to: int, type: RzAnalysisXRefType) bool #
Calls function
rz_analysis_xrefs_deln
(defined in xrefs.c)
- xrefs_get_from(addr: int) RzList[RzAnalysisXRef] #
Calls function
rz_analysis_xrefs_get_from
(defined in xrefs.c)
- xrefs_get_to(addr: int) RzList[RzAnalysisXRef] #
Calls function
rz_analysis_xrefs_get_to
(defined in xrefs.c)