elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [ASM+VB6] Deteccion Virtual Machine - Interrupt Descriptor Table
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [ASM+VB6] Deteccion Virtual Machine - Interrupt Descriptor Table  (Leído 2,025 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
[ASM+VB6] Deteccion Virtual Machine - Interrupt Descriptor Table
« en: 10 Febrero 2010, 18:00 pm »

Código
  1. Option Explicit
  2. '---------------------------------------------------------------------------------------
  3. ' Module        : mVirtualized
  4. ' Author        : Karcrack
  5. ' Date          : 09/09/09
  6. ' Used for?     : Detect Virtualized Machines... like VMWare/V.PC/QEmu...
  7. ' Tested On     :
  8. '                   - Virtual PC 2007, 1.0      (Tested by: KIASH!)
  9. '                   - VMWare ,6.5.3.185404      (Tested by: SkyWeb!)
  10. '
  11. ' Reference     :
  12. '                   :http://www.cs.nps.navy.mil/people/faculty/irvine/publications/2000/VMM-usenix00-0611.pdf
  13. '                   :http://invisiblethings.org/papers/redpill.html
  14. '                   :http://www.ntsecurity.nu/onmymind/2007/2007-02-27.html
  15. '                   :http://blog.assarbad.net/wp-content/uploads/2006/11/redpill_getting_colorless.pdf
  16. '---------------------------------------------------------------------------------------
  17.  
  18. 'USER32
  19. Private Declare Function CallThunk8 Lib "USER32" Alias "CallWindowProcW" (ByRef cThunk As Currency, Optional ByVal Param1 As Long, Optional ByVal Param2 As Long, Optional ByVal Param3 As Long, Optional ByVal Param4 As Long) As Long
  20.  
  21. Public Function ImVirtualized() As Boolean
  22.    Dim tIDT(2 + 4)     As Byte
  23.  
  24. '    mov ecx, [esp+4]\
  25. '    sidt [ecx]       |->; -439297879751758.3221@
  26. '    retn            /
  27.  
  28.    Call CallThunk8(-439297879751758.3221@, ByVal VarPtr(tIDT(0)))
  29.    ImVirtualized = (tIDT(5)  > &HD0)
  30. End Function

Es muy recomendable leer los links citados en los comentarios para mas info sobre el tema :D

Cualquier duda... preguntar! ;)

Saludos ::)


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines