Autor Tema: Detectar maquina virtual  (Leído 3945 veces)

0 Usuarios y 1 Visitante están viendo este tema.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Detectar maquina virtual
« en: Junio 03, 2014, 07:55:59 pm »
¿Saben de que forma podria detectar mi aplicativo si esta en una maquina virtual?¿Se podria detectar con VB6?

SAludos
Me encuentras en YAcosta.com

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Detectar maquina virtual
« Respuesta #1 en: Junio 03, 2014, 10:11:10 pm »
Estimado YAcosta
Si es posible, al menos para las maquinas virtuales de Microsoft. Hay que leer una llave en el registry de Windows y mediante WMI
 
Aquí te dejo un link
http://blogs.technet.com/b/tonyso/archive/2009/08/20/hyper-v-how-to-detect-if-you-are-inside-a-vm.aspx
 
Saludos desde algún lugar de Lima-Perú
Saludos, desde algún lugar de Lima-Perú

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Detectar maquina virtual
« Respuesta #2 en: Junio 03, 2014, 10:17:23 pm »
Ivan, autointerrogando a la PC con este código se supone que podrías determinarlo.
 
strComputer = "computername"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)

For Each objItem in colItems
  strModel = objItem.Model
  If strModel = "Virtual Machine" Then
    debug.print "This is a virtual machine!"
  else
    debug.print "This is NOT a Virtual Machine"
  End if
Next

 
Saludos desde algún lugar de Lima-Perú
Saludos, desde algún lugar de Lima-Perú

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Detectar maquina virtual
« Respuesta #3 en: Junio 03, 2014, 11:23:47 pm »
EXCELENTE!!! mi amigo, con esto que me diste y leyendo un poco de aqui y de alla modifique un pelito el código y funciono:


Lo que no sabia (ni imaginaba) es que se pudiera hacerse una consulta sql al objeto... aun no me queda claro del todo pero imagino que hay una BD (¿la del registro de windows?) que reune esa información y esa es en si una BD.

Gracias por el dato.

Codigo usado:
Código: (VB) [Seleccionar]
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem", , 48)
For Each objItem In colItems
  strModel = objItem.Model
  If strModel = "Virtual Machine" Or strModel = "VirtualBox" Then
    Debug.Print "This is a virtual machine!"
  Else
    Debug.Print "This is NOT a Virtual Machine"
  End If
Next
Me encuentras en YAcosta.com

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Detectar maquina virtual
« Respuesta #4 en: Junio 04, 2014, 02:38:05 am »
Hola Yvan te tiro un link de un hilo donde se trato a fondo este tema, y cobein tiro otra función, la cual no usa WMI, (restricciones de permisos en vista y superiores), fijate que hay dos funciones una larga al principio y una mas corta al final, y ademas te dicen si es Virtual Machine, VMWARE o VBOX

http://foro.elhacker.net/programacion_vb/isvirtualpcpresent_no_wmi_source-t219126.0.html

Edit:
Aca algo que recién acabo de cruzarme que quizás se pueda añadir a la función
http://www.sinfocol.org/2013/01/rutinas-para-la-deteccion-del-uso-de-maquinas-virtuales/
« última modificación: Junio 04, 2014, 03:16:51 am por LeandroA »

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Detectar maquina virtual
« Respuesta #5 en: Junio 04, 2014, 10:34:32 am »
Juasss, esto es como el segundo orgasmo inmediatamente después del primero. Excelente papá, muchas gracias.


Saludos
Me encuentras en YAcosta.com

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Detectar maquina virtual
« Respuesta #6 en: Junio 04, 2014, 06:56:41 pm »
uchale que postura difícil pensar que te viniste con mi respuesta, un gracias hubiera estado bien jajaja

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Detectar maquina virtual
« Respuesta #7 en: Junio 04, 2014, 11:33:09 pm »
jajaj. Al Cesar lo que es del Cesar jajaj.

Ese ultimo que hallaste esta repaja, de momento voy a usar el ultimo del foro elhacker, en la virtual obtengo 3, en la "real" obtengo 0 y con eso me basta.

Gracias
Me encuentras en YAcosta.com

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Re:Detectar maquina virtual
« Respuesta #8 en: Junio 06, 2014, 07:22:41 pm »
Hola, tengo una duda siempre he utilizado virtualpc2007 y es imposible obtener el serial del disco duro(el de fabrica) dado que es una maquina virtual y me da como resultado " ", la consulta es si con virtualbox,  vmware pasa lo mismo o estos programas tambien te crear un serial virtual?