Rizin
unix-like reverse engineering framework and cli tools
|
Low-level VM to execute raw IL code. More...
#include <rz_il_vm.h>
Public Attributes | |
RzILVarSet | global_vars |
All global variables (usually bound to registers) More... | |
RzILVarSet | local_vars |
All local variables, created by local set ops. More... | |
RzILVarSet | local_pure_vars |
All local variables, during execution temporarily bound by let, only usable in pure expressions and immutable. More... | |
RzPVector | vm_memory |
Memories available in the VM, by their index. May be sparse (contain NULLs). More... | |
ut32 | val_count |
ut32 | lab_count |
count for VM predefined things More... | |
ut32 | addr_size |
size of address space More... | |
HtPP * | vm_global_label_table |
Hashtable to maintain the label and address. More... | |
HtPP * | vm_local_label_table |
Hashtable to maintain the label and address. More... | |
RzBitVector * | pc |
Program Counter of VM. More... | |
RzILOpPureHandler * | op_handler_pure_table |
Array of Handler, handler can be indexed by opcode. More... | |
RzILOpEffectHandler * | op_handler_effect_table |
Array of Handler, handler can be indexed by opcode. More... | |
RzList * | events |
List of events that has happened in the last step. More... | |
bool | big_endian |
Sets the endianness of the memory reads/writes operations. More... | |
Low-level VM to execute raw IL code.
Definition at line 37 of file rz_il_vm.h.
ut32 rz_il_vm_t::addr_size |
size of address space
Definition at line 43 of file rz_il_vm.h.
Referenced by capstone.CsInsn::__gen_detail(), and rz_il_vm_init().
bool rz_il_vm_t::big_endian |
Sets the endianness of the memory reads/writes operations.
Definition at line 50 of file rz_il_vm.h.
Referenced by rz_il_vm_init(), rz_il_vm_mem_loadw(), and rz_il_vm_mem_storew().
RzList* rz_il_vm_t::events |
List of events that has happened in the last step.
Definition at line 49 of file rz_il_vm.h.
Referenced by rz_core_analysis_il_step_with_events(), rz_il_vm_clear_events(), rz_il_vm_event_add(), rz_il_vm_fini(), and rz_il_vm_init().
RzILVarSet rz_il_vm_t::global_vars |
All global variables (usually bound to registers)
Definition at line 38 of file rz_il_vm.h.
Referenced by rz_il_vm_fini(), rz_il_vm_init(), and var_set_of_kind().
ut32 rz_il_vm_t::lab_count |
count for VM predefined things
Definition at line 42 of file rz_il_vm.h.
Referenced by rz_il_vm_init().
RzILVarSet rz_il_vm_t::local_pure_vars |
All local variables, during execution temporarily bound by let, only usable in pure expressions and immutable.
Definition at line 40 of file rz_il_vm.h.
Referenced by rz_il_vm_fini(), rz_il_vm_init(), and var_set_of_kind().
RzILVarSet rz_il_vm_t::local_vars |
All local variables, created by local set ops.
Definition at line 39 of file rz_il_vm.h.
Referenced by rz_il_vm_fini(), rz_il_vm_init(), rz_il_vm_step(), and var_set_of_kind().
RzILOpEffectHandler* rz_il_vm_t::op_handler_effect_table |
Array of Handler, handler can be indexed by opcode.
Definition at line 48 of file rz_il_vm.h.
Referenced by rz_il_vm_fini(), and rz_il_vm_init().
RzILOpPureHandler* rz_il_vm_t::op_handler_pure_table |
Array of Handler, handler can be indexed by opcode.
Definition at line 47 of file rz_il_vm.h.
Referenced by rz_il_vm_fini(), and rz_il_vm_init().
RzBitVector* rz_il_vm_t::pc |
Program Counter of VM.
Definition at line 46 of file rz_il_vm.h.
Referenced by perform_jump(), rz_core_analysis_il_vm_set(), rz_core_analysis_il_vm_status(), rz_il_handler_blk(), rz_il_handler_empty(), rz_il_vm_fini(), rz_il_vm_get_pc_len(), rz_il_vm_init(), and rz_il_vm_step().
ut32 rz_il_vm_t::val_count |
Definition at line 42 of file rz_il_vm.h.
Referenced by rz_il_vm_init().
HtPP* rz_il_vm_t::vm_global_label_table |
Hashtable to maintain the label and address.
Definition at line 44 of file rz_il_vm.h.
Referenced by rz_il_vm_fini(), and rz_il_vm_init().
HtPP* rz_il_vm_t::vm_local_label_table |
Hashtable to maintain the label and address.
Definition at line 45 of file rz_il_vm.h.
RzPVector rz_il_vm_t::vm_memory |
Memories available in the VM, by their index. May be sparse (contain NULLs).
Definition at line 41 of file rz_il_vm.h.
Referenced by rz_il_vm_add_mem(), rz_il_vm_fini(), rz_il_vm_get_mem(), and rz_il_vm_init().