You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
790 B
20 lines
790 B
3 years ago
|
#include <vmprofiler.hpp>
|
||
|
|
||
|
namespace vm
|
||
|
{
|
||
|
ctx_t::ctx_t( std::uintptr_t module_base, std::uintptr_t image_base, std::uint32_t vm_entry_rva )
|
||
|
{
|
||
|
vm::util::flatten( vm_entry, vm_entry_rva + module_base );
|
||
|
vm::util::deobfuscate( vm_entry );
|
||
|
vm::calc_jmp::get( vm_entry, calc_jmp );
|
||
|
|
||
|
auto vm_handler_table = vm::handler::table::get( vm_entry );
|
||
|
vm::handler::get_all( module_base, image_base, vm_entry, vm_handler_table, vm_handlers );
|
||
|
}
|
||
|
|
||
|
ctx_t::ctx_t( std::vector< vm::handler::handler_t > &vm_handlers, zydis_routine_t &vm_entry,
|
||
|
zydis_routine_t &calc_jmp, vmp2::exec_type_t exec_type )
|
||
|
: vm_handlers( vm_handlers ), vm_entry( vm_entry ), calc_jmp( calc_jmp ), exec_type( exec_type )
|
||
|
{
|
||
|
}
|
||
|
} // namespace vm
|