我们知道,VMProtect是一款商用的虚拟机保护壳,那么他的重点就是他的虚拟保护——vm
但是他的VM有些漏洞,一般情况下,我们写代码是这样添加标志位的——用易语言举例
然后放到VMP里,她会自动识别
编译结束后,就已经对关键代码进行保护了,我们下Megbox找按钮事件对比下:
F8走出来,可以看到区别
加密前,简单明了
加密后,V的亲妈都不认识
是不是这样就束手无策了呢?并不是,VM是有缺点的,像刚刚那种写法(图1),VM的地方是不全的。
所以,我们跳到地址00401000,然后在几个RETN出下断点。
然后点击按钮
程序断下来后,把寄存器EAX的值改成0,判断就过了
这样,就破开了加了VM的软件了。(当然,这种只是比较简单的)
PS:请问怎么写补丁来改EAX的值啊,在线求解答。