Algunos programas contienen pruebas para ver si se están ejecutando en una máquina virtual.
Es muy desagradable ver mensajes de alerta como "Lo siento, esta aplicación no puede ejecutarse en una máquina virtual". y haz que tu software se detenga!
Hay muchas razones legales para anular tales pruebas. Además, tales limitaciones (la mayoría de las veces) no están escritas en los Acuerdos de licencia de usuario.
Entonces ... ¿cómo puedo ocultar el hecho de que una máquina virtual está ejecutando el programa? No quiero que los programas que realizan este análisis detecten con éxito la VM que se está ejecutando.
Estoy usando un servidor privado virtual (VPS) con Hyper-V ... Soy administrador del sistema operativo (Windows 2003) instalado en este VPS, no administrador de Hyper-V.
fuente
Respuestas:
En resumen, creo que simplemente no puedes. Es la discusión sobre el malware que intenta detectar si se está ejecutando en una máquina virtual para evitar ser detectado por los sistemas que usan máquinas virtuales para ejecutar código para verificar si hay malware.
Algunas referencias rápidas son: VRT: ¿Cómo sabe el malware la diferencia entre el mundo virtual y el mundo real? y The Dead Giveaways of VM-Aware Malware .
fuente
Hasta donde yo sé, depende del tipo de virtualización que esté utilizando.
Comencemos diciendo que seguramente puede mitigar algunas cosas (por ejemplo, cambiar la dirección MAC, desinstalar adiciones de invitados).
Dicho esto, si está ejecutando una virtualización completa, el hipervisor emula el hardware para los invitados. Una CPU emulada tendrá su propio reloj (software) que, tarde o temprano, mostrará diferentes velocidades, cuando no debería.
Esta es una de las cosas que no puede reparar de ninguna manera, y un programa (principalmente malwares) sabrá que se está ejecutando en una VM.
Puede hacerlo directamente utilizando una Paravirtualización que consiste en utilizar su hardware real en un entorno cerrado.
fuente