解决某些软件不能在虚拟机中运行的问题
最近在调试一个软件,电信的某垃圾客户端。这垃圾软件居然还检测虚拟机,在虚拟机运行就会报错。

网上一番搜索,发现主要是检测虚拟机工具箱相关进程,对于VMWare是检测VMWare Tools相关函数,如果存在则报错。还有检测VMWare Tools进程的。对于多数虚拟机检测,只要在虚拟机配置文件里加一行即可。作用是屏蔽虚拟机特殊指令,同时禁止VMWare Tools运行(因为VMWare Tools也不能判断是否是虚拟机了)。
用写字板打开虚拟机目录下的.vmx文件,在最后添加一行:
monitor_control.restrict_backdoor = “TRUE”
保存再运行虚拟机即可。


但是这种方法会对虚拟机性能造成一些影响,因为不能使用VMWare Tools,不能使用CPU支持的虚拟化指令加速虚拟机。所以如果一些程序需要性能比较高,对Host的性能要求也比较高。