首先使用VmDetect来检测是否是虚拟机,VirtualPC为x86指令系统引入了一些指令,VMware则使用具有特权的现有指令, VmDetect通过这一特点来发现是否真正运行虚拟机,这是最为有效的一种方法。VmDetect下载地址(需注册)
成功检测出vmware的存在。
当然,为了瞒住VmDetect这类的检测工具,也是有办法的。
1、用记事本打开虚拟系统镜像文件的配置文件,这个文件扩展名.vmx,在创建虚拟机时设置的路径中找下,例如我的就是Windows Server 2003 Standard Edition.vmx,然后在其末尾添加这么一句,如下(注意,虚拟机不能在运行状态添加)
monitor_control.restrict_backdoor = “true”
2、开启vmware workstation,在里面的 虚拟机 -> 设置 -> 处理器 -> 勾上‘禁用二进制转换加速’(不同汉化版翻译有所出入)
这两条一起用,可以躲过大部分检测。
再次运行VmDetect,已经检测不到VMware了。
而且安装vmware tools的时候已经认为不是虚拟机了。
其他虚拟技术的伪装方法有待研究和测试,虽然骗过软件检测,但是人为检查可以从磁盘,DVD/CD-ROM驱动器,注册表等发现虚拟的种种迹象,这边也只讨论软件方面的,毕竟有些软件是不能在虚拟机上使用的,而且VMware伪装后也可能在正常使用中出现一些小问题,例如关机会自动重启之类的。