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
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
Oks, gracias , voy a ver que encuentro por ese camino que me indicas, tiene muy buena pinta .
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/
intersante el link, aca tenes en vb
http://foro.elhacker.net/programacion_vb/isvirtualpcpresent_no_wmi_source-t219126.0.html
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
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