Sé que esto probablemente se repetirá un poco, pero ninguno de los diversos temas que he explorado y probado ha funcionado completamente para mí. Intentaré brindar tanta información (necesaria) como pueda; si hay información no relacionada o información necesaria, dígame qué y cómo puedo recuperarla y haré lo mejor que pueda. Lo siento, es largo, solo quiero ser exhaustivo con mi pregunta e información.
Gracias por tomarte tu tiempo para leer esto.
Tema principal
Estoy tratando de ocultarle a mi invitado el hecho de que es una máquina virtual, principalmente porque quiero jugar algunos juegos que no funcionan bien con su sistema anti-trampas en una máquina virtual, por ejemplo Valorant. He probado muchas guías en línea pero ninguna parece funcionar. Si bien Windows cree que se está ejecutando fuera de una máquina virtual, al verificar PAFish, estos son los rastros que obtengo.
PARastros de pescado
[-] 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!
Y quiero intentar solucionarlos/mitigarlos. Ahora me doy cuenta de que Valorant AC también podría utilizar otras formas, pero creo que este es un buen lugar para comenzar.
A continuación habrá un pequeño volcado de información de lo que he hecho al intentar esto.
Mi CPU, placa base y sistema operativo son:
OS: Manjaro Linux x86_64
Host: MS-7C37 2.0
CPU: AMD Ryzen 7 3800X (16) @ 3.900GHz
He habilitado la virtualización anidada para mi CPU AMD
Estoy ejecutando qemu en virt-manager con Windows 10 Pro de 64 bits como invitado.Aquíes un pastbin de mi archivo xml para mi VM pero incluiré lo que creo que son las partes relevantes para cada seguimiento en cada sección.
Versión SystemBios
Las partes más importantes (creo) son que cambié el proveedor de BIOS, etc.:
<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>
Pero todavía rastrea SystemBiosVersion, esto lo puedo cambiar mediante una edición del registro, pero no sé si eso ayudaría, ya que es necesario cambiarlo cada reinicio del sistema.
Detecciones basadas en información de CPU
La configuración de mi CPU y Hyper-V es la siguiente:
<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>
Por lo que he leído el "función deshabilitar hipervisor"La parte debería arreglar los 2 últimos rastros de CPU, pero es posible que haya entendido mal lo que hacen.
Detección de Qemu
Aquí uso:
<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>
Pero todavía lo rastrea desde algún identificador de identificación de unidad lógica, encontré esto en el registro donde todavía decía QEMU HARDDRIVE, cambié esa cadena y ya no se rastreó, pero al igual que SystemBiosVersion, esta no es una solución permanente y no No sé si incluso ayuda.
En mi dispositivo y administrador de tareas, ambas unidades se denominan QEMU HARDDRIVE pero no he encontrado una manera de cambiar esos nombres sin volver a compilar qemu con un cambio en su código fuente. Bueno, en realidad encontré formas de cambiarlo si usaba unidades scsi. pero esos no se detectan. Y también encontré una entrada del registro de cambios que hace referencia a "model=m" para cambiar los nombres, pero no encontré dónde colocarla y nadie más hace referencia a eso aparte de los espejos de ese registro de cambios.
Detección genérica de zona de pruebas
En cuanto a estos, ni siquiera sé por dónde empezar, no he intentado ocultarlos. Utilizo Barrier/Synergy para compartir mi mouse y teclado, así que sospecho que ese es el rastro de actividad del mouse, pero no creo que eso active VAC.
Ultimas palabras
Y eso es todo lo que tengo para darte. Espero haber formulado mi pregunta correctamente y haber proporcionado la información necesaria. Nuevamente, dígame si es demasiado, incorrecto o simplemente estúpido. No tengo mucho o ningún conocimiento profundo de qemu y esto se ha hecho principalmente siguiendo guías encontradas en línea que luego he reunido en esta máquina virtual de prueba. Gracias por tomarse su tiempo para leer al menos algo de esto y gracias aún más si intenta ayudarme :)
Respuesta1
Recuerdo haber visto unguía para esto en el canal de youtube de Jim Browning
Sé que esto es ligeramente diferente de su configuración, ya que es específico de vmware, pero hay un buen tutorial de las cosas que debe tener en cuenta, como el nombre de los controladores del disco duro, lo cual es un indicio obvio. Espero que esto ayude un poco.
De la descripción del vídeo:
Necesitará el siguiente punto de registro:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum
Busque los siguientes 4 GUID:
{4d36e967-e325-11ce-bfc1-08002be10318} {4d36e968-e325-11ce-bfc1-08002be10318} {4d36e965-e325-11ce-bfc1-08002be10318} {4d36e96f-e325-11ce-bfc1-08002be10318}
Puede descargar los archivos de registro sigilosos de VMware Tools desde [enlaces en el enlace de youtube]
Esto funcionará para Windows 7, 8, 8.1 y 10 con VMware Tools 10.10.