使用vmware(vmware fusion)突破themida对于虚拟机的限制

themida是比较有名的一款壳,可以在一定程度上保护软件不被破解或非法使用。例如一些游戏使用themida壳来防止用户使用虚拟机来进行多开。

但是,我希望在mac上使用windows的软件,使用了vmware fusion 8虚拟机,结果软件在运行时会弹出“Sorry, this application cannot run under a Virtual Machine”的提示并终止程序运行。为了正常使用程序,需要进行以下操作:

1.在关闭虚拟机的情况下编辑虚拟机的.vmx文件(此文件在虚拟机保存目录中),在文件中加上

monitor_control.restrict_backdoor = "TRUE"

disable_acceleration = "TRUE"

这两行。

2.themida通过判断系统硬件中是否存在"Vmware"类似名字的硬件来判断是否在虚拟机中运行,因此需要对硬件的名称进行修改。最简单的方式是使用驱动管理软件(例如驱动人生等),将驱动进行备份。备份后的驱动会以.zip文件的形式保存在设定的目录中,将其中的安装信息文件(后缀名为.inf)复制出来,进行如下修改:

在文件的最后部分会有一个[String]设置块,把里面的xxx.Disk,xxx.Msg,xxx.SvcDesc等项目的值改成不包含Vmware字样的文字。

3.在虚拟机设置中关闭所有不需要的项目,例如蓝牙等

4.在虚拟机的系统中将Vmware Tools完全卸载

通过这些操作,就能使themida认为运行环境不是虚拟机,从而不会终止运行了。