diff --git a/src/vmprofiles/add.cpp b/src/vmprofiles/add.cpp index e02e66c..56b4dcc 100644 --- a/src/vmprofiles/add.cpp +++ b/src/vmprofiles/add.cpp @@ -46,6 +46,7 @@ profiler_t add = { [](zydis_reg_t& vip, zydis_reg_t& vsp, hndlr_trace_t& hndlr) -> std::optional { vinstr_t res{mnemonic_t::add}; + res.imm.has_imm = false; // MOV REG, [VSP] const auto mov_reg_vsp = std::find_if( @@ -71,7 +72,6 @@ profiler_t add = { }); res.stack_size = mov_vsp_offset->m_instr.operands[1].size; - res.imm.size = mov_reg_vsp->m_instr.operands[1].size; return res; }}; } \ No newline at end of file diff --git a/src/vmprofiles/shld.cpp b/src/vmprofiles/shld.cpp index 54c1624..edbc98b 100644 --- a/src/vmprofiles/shld.cpp +++ b/src/vmprofiles/shld.cpp @@ -24,7 +24,7 @@ profiler_t shld = { instr.operands[1].mem.base == vsp && instr.operands[1].mem.disp.has_displacement; }, - // SHL REG, REG + // SHLD REG, REG [](const zydis_reg_t vip, const zydis_reg_t vsp, const zydis_decoded_instr_t& instr) -> bool { return instr.mnemonic == ZYDIS_MNEMONIC_SHLD && diff --git a/src/vmprofiles/shr.cpp b/src/vmprofiles/shr.cpp index 4a456c5..5b54a8e 100644 --- a/src/vmprofiles/shr.cpp +++ b/src/vmprofiles/shr.cpp @@ -2,7 +2,7 @@ namespace vm::instrs { profiler_t shr = { - "SHRD", + "SHR", mnemonic_t::shr, {{// MOV REG, [VSP] LOAD_VALUE, diff --git a/src/vmprofiles/shrd.cpp b/src/vmprofiles/shrd.cpp index 94000c2..77268b4 100644 --- a/src/vmprofiles/shrd.cpp +++ b/src/vmprofiles/shrd.cpp @@ -24,7 +24,7 @@ profiler_t shrd = { instr.operands[1].mem.base == vsp && instr.operands[1].mem.disp.has_displacement; }, - // SHR REG, REG + // SHRD REG, REG [](const zydis_reg_t vip, const zydis_reg_t vsp, const zydis_decoded_instr_t& instr) -> bool { return instr.mnemonic == ZYDIS_MNEMONIC_SHRD &&