Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Functions | |
static RzILEvent * | il_event_new_write_from_var (RzILVM *vm, RzILVar *var, RzILVal *new_val) |
static void | rz_il_set (RzILVM *vm, const char *var_name, bool is_local, RZ_OWN RzILVal *val) |
bool | rz_il_handler_empty (RzILVM *vm, RzILOpEffect *op) |
bool | rz_il_handler_nop (RzILVM *vm, RzILOpEffect *op) |
bool | rz_il_handler_set (RzILVM *vm, RzILOpEffect *op) |
static void | perform_jump (RzILVM *vm, RZ_OWN RzBitVector *dst) |
bool | rz_il_handler_jmp (RzILVM *vm, RzILOpEffect *op) |
bool | rz_il_handler_goto (RzILVM *vm, RzILOpEffect *op) |
bool | rz_il_handler_seq (RzILVM *vm, RzILOpEffect *op) |
bool | rz_il_handler_blk (RzILVM *vm, RzILOpEffect *op) |
bool | rz_il_handler_repeat (RzILVM *vm, RzILOpEffect *op) |
bool | rz_il_handler_branch (RzILVM *vm, RzILOpEffect *op) |
|
static |
Definition at line 8 of file theory_effect.c.
References rz_il_var_t::name, NULL, rz_il_event_var_write_new(), RZ_IL_VAR_KIND_GLOBAL, rz_il_vm_get_var_value(), and rz_return_val_if_fail.
Referenced by rz_il_set().
|
static |
Definition at line 50 of file theory_effect.c.
References dst, rz_il_vm_t::pc, rz_bv_free(), rz_il_event_pc_write_new(), and rz_il_vm_event_add().
Referenced by rz_il_handler_goto(), and rz_il_handler_jmp().
bool rz_il_handler_blk | ( | RzILVM * | vm, |
RzILOpEffect * | op | ||
) |
Definition at line 89 of file theory_effect.c.
References rzil_op_blk_t::ctrl_eff, rzil_op_blk_t::data_eff, rzil_op_blk_t::label, rz_il_vm_t::pc, rz_il_evaluate_effect(), rz_il_vm_create_label(), and rz_return_val_if_fail.
bool rz_il_handler_branch | ( | RzILVM * | vm, |
RzILOpEffect * | op | ||
) |
Definition at line 118 of file theory_effect.c.
References rz_il_bool_t::b, rz_il_op_args_branch_t::condition, rz_il_op_args_branch_t::false_eff, rz_il_bool_free(), rz_il_evaluate_bool(), rz_il_evaluate_effect(), rz_return_val_if_fail, and rz_il_op_args_branch_t::true_eff.
bool rz_il_handler_empty | ( | RzILVM * | vm, |
RzILOpEffect * | op | ||
) |
Definition at line 28 of file theory_effect.c.
References rz_il_vm_t::pc, rz_bv_as_string(), RZ_LOG_WARN, and rz_return_val_if_fail.
bool rz_il_handler_goto | ( | RzILVM * | vm, |
RzILOpEffect * | op | ||
) |
Definition at line 66 of file theory_effect.c.
References EFFECT_LABEL_HOOK, EFFECT_LABEL_SYSCALL, rz_il_op_args_goto_t::lbl, perform_jump(), rz_bv_dup(), rz_il_vm_find_label_by_name(), and rz_return_val_if_fail.
bool rz_il_handler_jmp | ( | RzILVM * | vm, |
RzILOpEffect * | op | ||
) |
Definition at line 56 of file theory_effect.c.
References dst, perform_jump(), rz_il_evaluate_bitv(), and rz_return_val_if_fail.
bool rz_il_handler_nop | ( | RzILVM * | vm, |
RzILOpEffect * | op | ||
) |
Definition at line 34 of file theory_effect.c.
References rz_return_val_if_fail.
bool rz_il_handler_repeat | ( | RzILVM * | vm, |
RzILOpEffect * | op | ||
) |
Definition at line 100 of file theory_effect.c.
References rz_il_bool_t::b, rzil_op_repeat_t::condition, rzil_op_repeat_t::data_eff, NULL, rz_il_bool_free(), rz_il_evaluate_bool(), rz_il_evaluate_effect(), and rz_return_val_if_fail.
bool rz_il_handler_seq | ( | RzILVM * | vm, |
RzILOpEffect * | op | ||
) |
Definition at line 83 of file theory_effect.c.
References rz_il_evaluate_effect(), rz_return_val_if_fail, rz_il_op_args_seq_t::x, and rz_il_op_args_seq_t::y.
bool rz_il_handler_set | ( | RzILVM * | vm, |
RzILOpEffect * | op | ||
) |
Definition at line 39 of file theory_effect.c.
References rz_il_op_args_set_t::is_local, rz_il_evaluate_val(), rz_il_set(), rz_return_val_if_fail, rz_il_op_args_set_t::v, val, and rz_il_op_args_set_t::x.
|
static |
Definition at line 17 of file theory_effect.c.
References il_event_new_write_from_var(), RZ_IL_VAR_KIND_GLOBAL, rz_il_vm_event_add(), rz_il_vm_get_var(), rz_il_vm_set_global_var(), rz_il_vm_set_local_var(), and val.
Referenced by rz_il_handler_set().