¿Cómo detectar si nuestra aplicacion se instala en una maquina virtual?

Iniciado por whiskises, 24 Agosto 2006, 08:04 AM

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

whiskises

La idea es no permitir una instalacion en una maquina virtual , y a partir de ahi el estudio del comportamiento  de la aplicacion,..logicamente. Al menos ya tengo solucionado el detectar al softice , pero ¿podemos evitar las maquinas virtuales de alguna manera?¿Existe algo que las diferencie de la maquina real y poder descargar la aplicacion en cuanto se aprecie esa diferencia?

Salu2

Ironhorse

Una forma sería detectar los drivers que instala la maquina virtual: por ej para el adaptador de video, el driver de VMware se llama VMware..., y no hay placas de video 'fisicas' VMware, por lo tanto si o si, es una virtual.
No es muy elegante y habria que tener en cuenta todos los software de virtualizacion, y si sale uno nuevo que no contemplamos, quedaria vulnerable...
Pero es un avance
Pégense una vuelta por Cracton :)

whiskises

Oks, gracias , voy a ver que encuentro por ese camino que me indicas, tiene muy buena pinta .

yorisdan

Se que es bastante viejito el tema pero dejo un pequeño aporte porque seguramente hay gente buscandolo...

Yo quise instalar StockBase PRO en una maquina virtual y al ver que no podía me puse a veriguar, es la primera vez que veo un soft así y me pareció curioso, y bue, si alguien con conocimientos en olly o en softice hace que se pueda instalar en una VM le agradecería jaja..

Bueno, pasate por este link, hay unas cuantas cositas como para detectarlo había sido... http://www.sinfocol.org/2013/01/rutinas-para-la-deteccion-del-uso-de-maquinas-virtuales/


Mad Antrax

A mi me gusta mi método :P

[Source] IsVirtualPCPresent() - Sistema AntiVirtualPC
http://foro.elhacker.net/programacion_visual_basic/source_isvirtualpcpresent_sistema_antivirtualpc-t218845.0.html

Código (vb) [Seleccionar]
Function IsVirtualPCPresent() As Boolean
    Dim DetectVirtualPC As String

    Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set HDS = WMI.ExecQuery("Select * from Win32_DiskDrive")

    DetectVirtualPC = ""
    For Each objHDS In HDS
        DetectVirtualPC = DetectVirtualPC & objHDS.Caption & objHDS.Model & objHDS.PNPDeviceID
    Next

    If InStr(UCase(DetectVirtualPC), "VIRTUAL") <> 0 Then
        IsVirtualPCPresent = True
    Else
        IsVirtualPCPresent = False
    End If
End Function


Saludos
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.