Определить, что программа запущена в пространстве VMwareDelphi , Программа и Интерфейс , Приложение своёОпределить, что программа запущена в пространстве VMware
Оформил: DeeCo //////////////////////////////////////////////////////////////////////////////// // // Simple VMware check on i386 // // Note: There are plenty ways to detect VMware. This short version bases // on the fact that VMware intercepts IN instructions to port 0x5658 with // an magic value of 0x564D5868 in EAX. However, this is *NOT* officially // documented (used by VMware tools to communicate with the host via VM). // // Because this might change in future versions - you should look out for // additional checks (e.g. hardware device IDs, BIOS informations, etc.). // Newer VMware BIOS has valid SMBIOS informations (you might use my BIOS // Helper unit to dump the ROM-BIOS (http://www.bendlins.de/nico/delphi). // function IsVMwarePresent(): LongBool; stdcall; // platform; begin Result := False; {$IFDEF CPU386} try asm mov eax, 564D5868h mov ebx, 00000000h mov ecx, 0000000Ah mov edx, 00005658h in eax, dx cmp ebx, 564D5868h jne @@exit mov Result, True @@exit: end; except Result := False; end; {$ENDIF} end; Перевод контента на русский язык: Функция Delphi для проверки, запущена ли программа в окружении виртуальной машины VMware. Функция использует специфический метод обнаружения VMware, интерпретируя инструкции IN к порту 0x5658 и проверяя значение EAX на магическое значение 0x564D5868. Расшифровка кода:
Обратите внимание, что данный метод обнаружения не является официально документированным VMware и может измениться в будущих версиях. Поэтому рекомендуется использовать дополнительные проверки (например, идентификаторы устройств, информация о BIOS) для увеличения надежности обнаружения. Чтобы запустить этот код, вам нужно будет иметь компилятор Delphi и платформу x86 (i386). Вы можете вызвать функцию Программа запускается в пространстве VMware, если она использует интерцептация инструкций IN для порта 0x5658 с магическим значением 0x564D5868 в регистре EAX. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Приложение своё ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |