-
-
[求助]TMD壳的虚拟机环境检测问题
-
发表于:
2014-11-27 17:03
5334
-
mov eax, 0x564D5868
mov ecx, 0x14
mov dx, 0x5658
in eax, dx
这几行是TMD壳的一段检测当前是否虚拟机环境的代码。
我在mov dx, 0x5658处下硬件执行断点,OD载入后F9运行断在此处。
1、按网上的破文,此时要把EAX清零,同时把mov dx, 0x5658这句改成mov dx, 0x0,然后按shift+f9。我照着做,可以实现过检测的目的。
2、那么问题又来了,我断在mov dx, 0x5658时,按一下F8步过,然后在OD窗口右上角的寄存器窗口中手工将dx改为0,然后再shift+f9运行,此时却弹出了虚拟机环境不允许运行的提示。
按理说,1和2操作是等价的,都是将dx将零,并没有执行额外的指令,mov指令也不会影响标志位寄存器,为什么得出的结果是不一样的呢?求各位大虾指点一二。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)