某些軟體包含測試以查看它們是否在虛擬機器上執行。
看到諸如“抱歉,此應用程式無法在虛擬機器下運行”之類的警報訊息是非常令人不快的。並停止你的軟體!
有很多法律理由可以推翻此類測試。此外,此類限制(大多數情況下)並未寫入使用者授權協議中。
那麼...我如何隱藏虛擬機器正在運行程式的事實?我不希望執行此掃描的程式成功偵測到正在執行的虛擬機器。
我正在使用帶有 Hyper-V 的虛擬專用伺服器 (VPS)...我是此 VPS 上安裝的作業系統 (Windows 2003) 的管理員,而不是 Hyper-V 的管理員。
答案1
簡而言之,我認為你做不到。這是關於惡意軟體試圖檢測它是否在虛擬機器中運行以避免被使用虛擬機器運行程式碼來檢查惡意軟體的系統檢測到的討論。
一些快速參考是:VRT:惡意軟體如何區分虛擬世界與現實世界?和VM 感知惡意軟體的致命贈品。
答案2
據我所知,這取決於您使用的虛擬化類型。
讓我們開始說,你肯定可以減輕一些事情(例如更改MAC位址,卸載來賓添加)。
也就是說,如果您正在運行完全虛擬化,虛擬機器管理程式會為來賓模擬硬體。模擬 CPU 將擁有自己的(軟體)時鐘,遲早會顯示不同的速度(但實際上不應該如此)。
這是您無法以任何方式修復的事情之一,而且程式(主要是惡意軟體)會知道它正在虛擬機器中運行。
您可以使用半虛擬化來直接實現它,其中包括在封閉的環境中使用真實的硬體。