Ausblenden der QEMU-Virtualisierung im Gastbetriebssystem von Windows 10

Ausblenden der QEMU-Virtualisierung im Gastbetriebssystem von Windows 10

Ich weiß, dass dies wahrscheinlich eine Wiederholung sein wird, aber keines der verschiedenen Themen, die ich durchsucht und ausprobiert habe, hat für mich vollständig funktioniert. Ich werde versuchen, so viele (notwendige) Informationen wie möglich zu geben. Wenn es nicht damit zusammenhängende Informationen gibt oder Informationen, die benötigt werden, sagen Sie mir bitte, was und wie ich sie abrufen kann, und ich werde mein Bestes tun. Tut mir leid, dass es so lang ist, ich möchte nur meine Frage und Informationen gründlich formulieren.

Vielen Dank, dass Sie sich die Zeit genommen haben, dies zu lesen.

Hauptproblem

Ich versuche, die Tatsache, dass es sich um eine VM handelt, vor meinem Gast zu verbergen, hauptsächlich, weil ich einige Spiele spielen möchte, die nicht gut funktionieren, wenn sich ihr Anti-Cheat-System auf einer VM befindet, zum Beispiel Valorant. Ich habe viele Anleitungen online ausprobiert, aber keine scheint zu funktionieren. Während Windows denkt, dass es außerhalb einer virtuellen Maschine läuft, sind dies die Spuren, die ich beim Überprüfen in PAFish erhalte.

PAFish Spuren

[-] 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!

Und ich möchte versuchen, sie zu beheben/abzuschwächen. Mir ist klar, dass Valorant AC auch andere Wege nutzen könnte, aber ich denke, das ist ein guter Anfang.

Nachfolgend finden Sie einen kleinen Infodump zu meinen Versuchen.

Meine CPU, mein Motherboard und mein Betriebssystem sind:

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

Ich habe die verschachtelte Virtualisierung für meine AMD-CPU aktiviert

Ich führe QEMU unter Virt-Manager mit Windows 10 Pro 64 Bit als Gast aus.Hierist ein Pastebin meiner XML-Datei für meine VM, aber ich werde in jedem Abschnitt die meiner Meinung nach relevanten Teile für jede Ablaufverfolgung einschließen.

SystemBIOSVersion

Die wichtigeren (denke ich) Teile sind, dass ich den BIOS-Anbieter usw. geändert habe:

<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>

Es wird jedoch immer noch die SystemBiosVersion verfolgt. Dies kann ich durch eine Bearbeitung der Registrierung ändern, weiß aber nicht, ob das helfen würde, da es bei jedem Systemneustart geändert werden muss.

CPU-Informationsbasierte Erkennungen

Meine CPU- und Hyper-V-Einstellungen sind wie folgt:

<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>

Soweit ich gelesen habe,Funktion zum Deaktivieren des Hypervisors"-Teil sollte die beiden letzten CPU-Spuren beheben, aber vielleicht habe ich auch nur missverstanden, was sie tun.

Qemu-Erkennung

Hier verwende ich:

<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>

Aber es wird immer noch über eine logische Einheiten-ID verfolgt. Ich habe dies in der Registrierung gefunden, wo immer noch „QEMU HARDDRIVE“ stand. Ich habe diese Zeichenfolge geändert und es wurde nicht mehr verfolgt, aber wie bei der SystemBiosVersion ist dies keine dauerhafte Lösung und ich weiß nicht, ob es überhaupt hilft.

In meinem Geräte- und Taskmanager heißen beide Laufwerke QEMU HARDDRIVE, aber ich habe keine Möglichkeit gefunden, diese Namen zu ändern, ohne QEMU mit einer Änderung des Quellcodes neu zu kompilieren. Nun, eigentlich habe ich Möglichkeiten gefunden, dies zu ändern, wenn Sie SCSI-Laufwerke verwenden, aber diese werden nicht erkannt. Und ich habe auch einige Änderungsprotokolleinträge gefunden, die auf „model=m“ verweisen, um die Namen zu ändern, aber ich habe nicht herausgefunden, wo ich das hinstellen soll, und niemand sonst verweist darauf, außer Spiegelungen dieses Änderungsprotokolls.

Generische Sandbox-Erkennung

Ich weiß nicht einmal, wo ich anfangen soll, ich habe nicht versucht, sie zu verbergen. Ich verwende Barrier / Synergy, um meine Maus und Tastatur freizugeben, daher vermute ich, dass dies die Mausaktivitätsspur ist, aber ich glaube nicht, dass dies VAC auslösen würde.

Letzte Worte

Und das ist alles, was ich Ihnen zu sagen habe. Ich hoffe, ich habe meine Frage richtig formuliert und die nötigen Informationen gegeben. Bitte sagen Sie mir auch hier, ob es zu viel, falsch oder einfach nur dumm ist. Ich habe nicht viel, wenn überhaupt, tiefe Kenntnisse über QEMU und habe dies hauptsächlich getan, indem ich online gefundene Anleitungen befolgt habe, die ich dann in dieser Test-VM zusammengestellt habe. Vielen Dank, dass Sie sich die Zeit genommen haben, zumindest einiges davon zu lesen, und vielen Dank, wenn Sie versuchen, mir zu helfen :)

Antwort1

Ich erinnere mich an einAnleitung dazu auf Jim Brownings Youtube-Kanal

Ich weiß, dass sich das etwas von Ihrem Setup unterscheidet, da es VMware-spezifisch ist, aber es gibt eine gute Anleitung zu den Dingen, auf die Sie achten müssen, wie zum Beispiel den Namen der Festplattencontroller, der ein offensichtliches Indiz ist. Ich hoffe, das hilft ein wenig weiter.

Aus der Videobeschreibung:

Sie benötigen den folgenden Registrierungspunkt:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum

Suchen Sie nach den folgenden 4 GUIDs:

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

Sie können die Stealthy-Registrierungsdateien der VMware Tools von [Links im YouTube-Link] herunterladen.

Dies funktioniert für Windows 7, 8, 8.1 und 10 mit VMware Tools 10.10

verwandte Informationen