Guest User

Untitled

a guest
Aug 12th, 2013
517
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.23 KB | None | 0 0
  1. //------------------------------------------------------------------------
  2. //Функции для определения факта запуска приложения под виртуальной машиной
  3. //   определяются VirtualBox, VMware, VirtualPC и Parallels Workstation
  4. //------------------------------------------------------------------------
  5. #include <windows.h>
  6. #include <Tlhelp32.h>
  7. #include <iphlpapi.h>
  8.  
  9. #pragma comment(lib, "IPHLPAPI.lib")
  10.  
  11. //обнаружение VMware с помощью backdoor-порта
  12. bool VMwareDetect();
  13.  
  14. //обнаружение VirtualPC с помощью "неправильных" команд процессора
  15. bool VirtualPCDetect();
  16.  
  17. //обнаружение VMware имени окна "VMSwitchUserControlClass"
  18. bool VMwareWindowDetect();
  19.  
  20. //обнаружение VirtualBox имени окна "VBoxTrayToolWndClass"
  21. bool VirtualBoxWindowDetect();
  22.  
  23. //обнаружение VMware по версии BIOS в реестре
  24. bool VMwareBIOSDetect();
  25.  
  26. //обнаружение VirtualBox по версии BIOS видеоадаптера в реестре
  27. bool VirtualBoxBIOSDetect();
  28.  
  29. //обнаружение Parallels Workstatin по наличию ключа PRLSACPI в реестре
  30. bool ParallelsRegDetect();
  31.  
  32. //обнаружение VirtualBox по имени процесса "VBoxTray.exe"
  33. bool VirtualBoxProcessDetect();
  34.  
  35. //обнаружение VirtualPC по имени процесса "vmusrvc.exe"
  36. bool VirtualPCProcessDetect();
  37.  
  38. //обнаружение VMware по имени процесса "vmtoolsd.exe"
  39. bool VMwareProcessDetect();
  40.  
  41. //обнаружение VirtualBox по имени объекта "Device\VBoxMiniRdrDN" и "Device\VBoxGuest"
  42. bool VirtualBoxDevObjDetect();
  43.  
  44. //обнаружение VirtualPC по имени объекта "Device\\VMDRV"
  45. bool VirtualPCDevObjDetect();
  46.  
  47. //обнаружение VirtualBox по идентификатору процессора
  48. bool VirtualBoxCPUIDDetect();
  49.  
  50. //обнаружение VMware по идентификатору процессора
  51. bool VMwareCPUIDDetect();
  52.  
  53. //обнаружение Parallels Workstatin по идентификатору процессора
  54. bool ParallelsCPUIDDetect();
  55.  
  56. //обнаружение VirtualPC по MAC-адресу
  57. bool VirtualPCMACDetect();
  58.  
  59. //обнаружение VirtualBox по MAC-адресу
  60. bool VirtualBoxMACDetect();
  61.  
  62. //обнаружение VMware по MAC-адресу
  63. bool VMwareMACDetect();
  64.  
  65. //обнаружение Parallels Workstatin по MAC-адресу
  66. bool ParallelsMACDetect();
  67.  
  68. //обнаружение виртуальной машины по идентификатору жесткого диска
  69. //для VirtualPC IDDisk - "DiskVirtual"
  70. //для VirtualBox IDDisk - "DiskVBOX_HARDDISK"
  71. //для VMware IDDisk - "Prod_VMware_Virtual"
  72. bool VirtualMachineIDDiskDetect(char* IDDisk);
  73.  
  74. //обнаружение Parallels Workstatin по видеоадаптеру
  75. bool ParallelsVideoCardDetect();
  76.  
  77. //обнаружение VirtualBox по видеоадаптеру
  78. bool VirtualBoxVideoCardDetect();
  79.  
  80. //обнаружение VirtualPC по видеоадаптеру
  81. bool VirtualPCVideoCardDetect();
Advertisement
Add Comment
Please, Sign In to add comment