飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3634|回复: 4

[C/C++] 检测VMWare虚拟机

[复制链接]
  • TA的每日心情
    难过
    7 天前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2014-2-5 00:39:53 | 显示全部楼层 |阅读模式
    1. bool IsInsideVMWare_()
    2. {
    3. bool r;
    4. _asm
    5.    {
    6.      push    edx
    7.      push    ecx
    8.      push    ebx
    9.      mov     eax, 'VMXh'
    10.      mov     ebx, 0 // any value but MAGIC VALUE
    11.      mov     ecx, 10 // get VMWare version
    12.      mov     edx, 'VX' // port number
    13.      in      eax, dx // read port
    14.                    // on return EAX returns the VERSION
    15.      cmp     ebx, 'VMXh' // is it a reply from VMWare?
    16.      setz    [r] // set return value
    17.      pop     ebx
    18.      pop     ecx
    19.      pop     edx
    20.    }
    21. return r;
    22. }
    23. bool FV_VMWare_VMX()
    24. {
    25. __try
    26.    {
    27.     return IsInsideVMWare_();
    28.    }
    29. __except(1) // 1 = EXCEPTION_EXECUTE_HANDLER
    30.    {
    31.     return false;
    32.    }
    33. }
    复制代码
    1. 00401000  /$  51            PUSH    ECX                              ;  1.004070C0
    2. 00401001  |.  53            PUSH    EBX
    3. 00401002  |.  52            PUSH    EDX
    4. 00401003  |.  51            PUSH    ECX
    5. 00401004  |.  53            PUSH    EBX
    6. 00401005  |.  B8 68584D56   MOV     EAX, 0x564D5868
    7. 0040100A  |.  BB 00000000   MOV     EBX, 0x0
    8. 0040100F  |.  B9 0A000000   MOV     ECX, 0xA
    9. 00401014  |.  BA 58560000   MOV     EDX, 0x5658
    10. 00401019  |.  ED            IN      EAX, DX
    11. 0040101A  |.  81FB 68584D56 CMP     EBX, 0x564D5868
    12. 00401020  |.  0F944424 13   SETE    BYTE PTR SS:[ESP+0x13]
    13. 00401025  |.  5B            POP     EBX
    14. 00401026  |.  59            POP     ECX
    15. 00401027  |.  5A            POP     EDX
    16. 00401028  |.  8A4424 07     MOV     AL, BYTE PTR SS:[ESP+0x7]
    17. 0040102C  |.  5B            POP     EBX
    18. 0040102D  |.  59            POP     ECX
    19. 0040102E  \.  C3            RETN
    复制代码



    评分

    参与人数 1威望 +4 收起 理由
    尿尿不洗手 + 4 果断赞一个!!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2019-3-8 22:25
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2014-5-4 22:36:35 | 显示全部楼层
    果断先收藏了再慢慢看……一直想找的代码
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-2-11 20:08
  • 签到天数: 774 天

    [LV.10]以坛为家III

    发表于 2014-6-25 10:23:15 | 显示全部楼层
    果断赞一个!!
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    昨天 08:34
  • 签到天数: 1434 天

    [LV.10]以坛为家III

    发表于 2014-6-25 11:09:32 | 显示全部楼层
    支持收藏了,感谢飘云老大
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-9-18 09:23
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-1-26 16:37:36 | 显示全部楼层
    感谢楼主分享!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表