在我上一次的面试中,我被问到一个问题,到目前为止,我甚至都找不到解决问题的线索。
因为这是一个非常有趣的问题,我想也许有人会有这个想法。
退出问题简单: “建议一种构建应用程序的方法,该方法能够识别它是否在虚拟机上运行。” (VM不是指CLR或JVM之类的东西,而是指可以使用VMware构建的完全虚拟化环境)
任何想法?
答案 0 :(得分:4)
查看Thwarting Virtual Machine Detection,关于如何进行反向的演示文稿(停止检测到它在VM上运行的应用程序,以防止恶意程序改变其行为)
此演示文稿列出了一些通常用于检测虚拟机环境的不同机制:
然而,最终没有100%可靠的方法来检测您是否在虚拟机上运行 - 如果目标是提供一个完全无法检测的环境,那么这些机制中的每一个都可以被修复"这样就完全无法检测到虚拟机。