在來賓 Windows 10 中隱藏 qemu 虛擬化

在來賓 Windows 10 中隱藏 qemu 虛擬化

我知道這可能會有點重複,但我瀏覽和嘗試過的幾個主題都沒有完全適合我。我將盡力提供盡可能多的(必要的)信息,如果有不相關的信息或需要的信息,請告訴我什麼以及如何檢索它,我會盡力而為。抱歉,時間太長了,我只是想徹底回答我的問題和資訊。

感謝您花時間閱讀本文。

主要問題

我試著向我的客人隱瞞它是虛擬機的事實,主要是因為我想玩一些在虛擬機器上無法很好地發揮反作弊功能的遊戲,例如《Valorant》。我在網上嘗試了很多指南,但似乎都不起作用。雖然 Windows 認為它在虛擬機器外部運行,但檢查 PAFish 這些是我得到的痕跡。

PA魚痕跡

[-] CPU information based detections
[*] Checking the difference between CPU timestamp counters (rdtsc) forcing VM exit ... traced!
[*] Checking hypervisor bit in cpuid feature bits ... traced!            
[*] Checking cpuid hypervisor vendor for known VM vendors ... traced!             

[-] Generic sandbox detection 
[*] Using mouse activity ... traced!                   
[*] Checking operating system uptime using GetTickCount() ... traced!

[-] Qemu detection
[*] Scsi port->bus->target id->logical unit id-> 0 identifier ... traced!

[-] Bochs detection
[*] Reg key (HKLM\HARDWARE\Description\System "SystemBiosVersion") ... traced!

我想嘗試修復/減輕它們。現在我意識到《Valorant AC》也可能會使用其他一些方式,但我認為這是一個很好的起點。

以下是我嘗試這樣做的一些資訊轉儲。

我的CPU、主機板和作業系統是:

OS: Manjaro Linux x86_64
Host: MS-7C37 2.0
CPU: AMD Ryzen 7 3800X (16) @ 3.900GHz

我已為我的 AMD CPU 啟用嵌套虛擬化

我在 virt-manager 下執行 qemu,並以 Windows 10 Pro 64 位元作為訪客。這裡是我的 VM 的 xml 檔案的 Pastebin,但我將在每個部分中包含我認為與每個追蹤相關的部分。

系統BIOS版本

更重要的(我認為)部分是我改變了BIOS供應商等:

<sysinfo type="smbios">
<bios>
  <entry name="vendor">American Megatrends Inc.</entry>
  <entry name="version">A.40</entry>
  <entry name="date">09/10/2019</entry>
</bios>
<system>
  <entry name="manufacturer">Micro-Star International Co., Ltd.</entry>
  <entry name="product">MS-7C37</entry>
  <entry name="version">2.0</entry>
  <entry name="serial">SOME RANDOM STRING OF CHARS HERE</entry>
  <entry name="uuid">MY UUID IS HERE</entry>
  <entry name="sku">SOME RANDOM STRING OF CHARS HERE</entry> //Don't even know what should be here
  <entry name="family">MSI Gaming</entry>
</system>

但它仍然跟踪 SystemBiosVersion,我可以透過註冊表編輯來更改它,但我不知道這是否有幫助,因為每次系統重新啟動都需要更改它。

基於 CPU 資訊的檢測

我的CPU和Hyper-V設定如下:

<features>
  <acpi/>
  <apic/>
  <hyperv>
    <relaxed state="on"/>
    <vapic state="on"/>
    <spinlocks state="on" retries="8191"/>
    <vendor_id state="on" value="SOME RANDOM STRING OF CHARS HERE"/>
  </hyperv>
  <kvm>
    <hidden state="on"/>
  </kvm>
  <vmport state="off"/>
</features>
<cpu mode="host-passthrough" check="none" migratable="on">
  <topology sockets="1" dies="1" cores="8" threads="2"/>
  <cache level="3" mode="emulate"/>
  <feature policy="disable" name="hypervisor"/>
  <feature policy="require" name="svm"/>
  <feature policy="require" name="invtsc"/>
  <feature policy="require" name="topoext"/>
</cpu>
<clock offset="localtime">
  <timer name="rtc" tickpolicy="catchup"/>
  <timer name="hpet" present="no"/>
  <timer name="hypervclock" present="yes"/>
  <timer name="pit" tickpolicy="discard"/>
</clock>

從我讀到的“功能禁用虛擬機器管理程式「部分應該修復後兩個 CPU 跟踪,但這可能是我誤解了它們的作用。

Qemu檢測

這裡我使用:

<disk type="file" device="disk">
  <driver name="qemu" type="qcow2"/>
  <source file="/run/media/jd/Windows/win10.qcow2"/>
  <target dev="sda" bus="sata"/>
  <serial>SOME RANDOM-ISH TEXT</serial>
  <address type="drive" controller="0" bus="0" target="0" unit="0"/>
</disk>
<disk type="file" device="disk">
  <driver name="qemu" type="qcow2"/>
  <source file="/run/media/jd/3TB/VM/WindowsHDD.qcow2"/>
  <target dev="sdc" bus="sata"/>
  <serial>SOME RANDOM-ISH TEXT</serial>
  <address type="drive" controller="0" bus="0" target="0" unit="1"/>
</disk>

但它仍然從某個邏輯單元id 標識符跟踪它,我在註冊表中發現了這個,它仍然顯示QEMU HARDDDRIVE,我更改了該字串,它不再被跟踪,但就像SystemBiosVersion 一樣,這不是一個永久的解決方案,我不'不知道它是否有幫助。

在我的裝置和任務管理器中,兩個磁碟機都命名為QEMU HARDDDRIVE,但我還沒有找到一種方法來更改這些名稱,而無需重新編譯qemu 並更改其原始程式碼。驅動器,我找到了更改它的方法,但這些沒有被檢測到。我還發現了一些引用“model=m”的變更日誌條目來更改名稱,但我還沒有找到將其放置在哪裡,並且除了該變更日誌的鏡像之外沒有其他人引用該條目。

通用沙箱檢測

至於這些我真的不知道從哪裡開始,我也沒有試圖隱藏它們。我使用 Barrier / Synergy 共享我的滑鼠和鍵盤,因此我懷疑這是滑鼠活動軌跡,但我不認為這會觸發 VAC。

最後的話

這就是我所能給你的一切。我希望我已經正確地提出了我的問題並提供了所需的信息,再次請告訴我是否太多、錯誤或只是愚蠢。我對 qemu 沒有太多深入的了解,這主要是按照網路上找到的指南完成的,然後我將這些指南放在這個測試虛擬機器上。感謝您花時間閱讀至少其中的一些內容,如果您嘗試幫助我,我們將進一步感謝您:)

答案1

我記得看過一個Jim Browning 的 YouTube 頻道上的指南

我知道這與您的設定略有不同,因為它是 vmware 特定的,但有一個很好的演練說明了需要注意的事項,例如硬碟控制器的名稱,這是一個明顯的贈品。我希望這能有所幫助。

從影片描述來看:

您將需要以下註冊表​​點:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum

搜尋以下 4 個 GUID:

{4d36e967-e325-11ce-bfc1-08002be10318}
{4d36e968-e325-11ce-bfc1-08002be10318}
{4d36e965-e325-11ce-bfc1-08002be10318}
{4d36e96f-e325-11ce-bfc1-08002be10318}

您可以從 [youtube 連結中的連結] 下載 VMware Tools 隱形登錄文件

這適用於具有 VMware 工具 10.10 的 Windows 7、8、8.1 和 10

相關內容