VMProfiler  v1.8
vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu.
Functions
vm::calc_jmp Namespace Reference

Functions

bool get (zydis_routine_t &vm_entry, zydis_routine_t &calc_jmp)
 extracts calc_jmp out of vm_entry... you can learn about calc_jmp here. More...
 
std::optional< vmp2::exec_type_tget_advancement (const zydis_routine_t &calc_jmp)
 gets the advancement of the virtual instruction pointer... iterates over calc_jmp for LEA, MOV, INC, DEC, SUB, ADD, ETC instructions and then decides which way VIP advances based upon this information... More...
 

Function Documentation

◆ get()

bool vm::calc_jmp::get ( zydis_routine_t vm_entry,
zydis_routine_t calc_jmp 
)

extracts calc_jmp out of vm_entry... you can learn about calc_jmp here.

Parameters
vm_entrypass by reference vm entry...
calc_jmpzydis_routine_t filled up with native instructions by this routine...
Returns
returns truee if no errors happen...

◆ get_advancement()

std::optional< vmp2::exec_type_t > vm::calc_jmp::get_advancement ( const zydis_routine_t calc_jmp)

gets the advancement of the virtual instruction pointer... iterates over calc_jmp for LEA, MOV, INC, DEC, SUB, ADD, ETC instructions and then decides which way VIP advances based upon this information...

Parameters
calc_jmp
Returns