VMProtect虚拟栈平衡与二级虚拟指令还原技术.pdfVIP

  • 0
  • 0
  • 约1.34千字
  • 约 11页
  • 2026-07-10 发布于北京
  • 举报

VMProtect虚拟栈平衡与二级虚拟指令还原技术.pdf

第六章虚拟代码还原练习

2.虚拟栈平衡

◆虚拟栈平衡:

2级虚拟指令执行后,虚拟栈需要保持平衡。

◆平衡:

如果是入栈指令,那么虚拟栈指针减小,如果是出栈指令,虚拟栈

指针增大。其他非栈指令,虚拟栈指针不变。

2级虚拟指令v_add

pushdreg[04]sp-4

pushdreg[08]sp-4对应指令

addd[sp+4],d[sp]spadddreg[08],dreg[04]sp

popv_eflagsp+4

popdreg[08]sp+4

◆识别2级虚拟指令,即虚拟指令还原。

◆虚拟栈平衡是识别2级虚拟指令的基本原则。

◆1.从第一条1级虚拟指令执行前,记下虚拟栈相对偏移,为0。

◆2.看第一条1级虚拟指令执行后的sp变化,计算相对偏移。

◆3.直到虚拟栈的相对偏移为0为止,该1级虚拟指令片段则为2级

虚拟指令。

◆4.如果直到虚拟指令块结束(虚拟寄存器环境恢复),相对偏移

没有达到0,则认为

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档