样本MD5:297DE74CB20A975EFAF20CD88FDDF270
在逆向分析时遇到VMP壳总是令人头疼,因为要源文件完美地从VMP壳中脱出来非常的困难。相比于VMP完美脱壳,带壳调试要简单许多,而且已经能满足调试分析的需求了,VMP分1.0、2.0、3.0,2.0,现在市面上较多见的是2.0,调试方法也较简单,下面我们就来讲解下如何带壳调试VMP2.0。
使用查壳工具可以得知样本加的是VMP2.0.7版本的壳,小本版之间的脱壳方法都一样,以下方法v2.0.X都适用。
OD打开样本后,按下Ctrl+G跳转到VirtualProtect函数的位置。
在VirtualProtect的起始处(0x7C801AD4)下断点,然后开始按F9,程序会多次停在断点处,在此期间要注意观察右下方红框中的NewProtect的值。
当NewProtect的值变为PAG_READONLY时,样本的代码已经全部解密出来了,我们停止按F9。