Обходим детектирование виртуальной машины программами в VMWare
Я использовал VMWare Fusion для Mac, однако с тем же успехом способ работает и в Workstation для Win.
1) Для работы необходима заново установленная система, как внести изменения в уже существующую — не нашёл.
Готовите виртуальный диск, указываете систему, как это обычно делаете, и в настройках к устанавливаемой машине, у меня этот пункт назван Isolation, выключаете любой обмен данными с хостовой ОС.
2) Далее надо найти конфигурационный VMX файл, создаваемый на этапе создания машины в VMWare, и в конец добавить строки:
isolation.tools.getPtrLocation.disable = «TRUE»
isolation.tools.setPtrLocation.disable = «TRUE»
isolation.tools.setVersion.disable = «TRUE»
isolation.tools.getVersion.disable = «TRUE»
monitor_control.disable_directexec = «TRUE»
monitor_control.disable_chksimd = «TRUE»
monitor_control.disable_ntreloc = «TRUE»
monitor_control.disable_selfmod = «TRUE»
monitor_control.disable_reloc = «TRUE»
monitor_control.disable_btinout = «TRUE»
monitor_control.disable_btmemspace = «TRUE»
monitor_control.disable_btpriv = «TRUE»
monitor_control.disable_btseg = «TRUE»
Эти опции предотвращают детектирование программами виртуального окружения через такие сложные проверки, как отслеживание адресного пространства памяти, счётчиков.
Важно! Если на этапе настройки установки будет опция вроде «Express install», «Быстрая установка» — выключайте их. Также не стоит устанавливать VMWare Tools в установленную систему, т.к. некоторое ПО в проверку включает и наличие этого пакета.
3) Сохраняем файл, указываем для загрузки ISO с установщиком системы, устанавливаем ОС как обычно.
4) Несмотря на то, что подавляющее большинство программ, не любящих виртуальной среды, не заходят дальше проверок, которые мы отсекли на 2 шаге, некоторые особо упорные всё же идут дальше и пытаются искать всё, что похоже на название контроллеров виртуальных дисков.
Чтобы победить и их в Windows, идём в редактор реестра в ветку HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum. Как видите, там есть вполне явная отсылка к тому, что диск — виртуальный.
Нам нужно изменить его, убрав из параметра VMware, Virtual, Ven, итп, и сохранить её так.
После пробуйте запускать ваш упрямый объект экспериментов — в процентах 90 случаев описанные шаги помогут пройти проверки на виртуальное окружение.
Важно! Значение в HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum перезаписывается после каждой перезагрузки, так что его нужно менять после каждого нового запуска системы.
Комментарии (3)
1 октября 2016 в 17:08
0↑
↓
Спасибо, попробуем. Мб получится все же запустить никому не нужный Дневной дозор со старфорсом на виртуальной XP на семерке.
Хотя скорее не удастся — когда разбирался с этим было оущение, чо чуть ли не половина виртуального обородудования и ключей реестра хранят в себе отпечаток VMware Player (запускал на нем, а не на workstation — мб причина в этом)…1 октября 2016 в 17:27
0↑
↓
Так на дневной вроде как была человеческая кхм трещина, а вот с ночным дела обстоят хуже. Проще уж на старенький ноут хрюшу накатить.
1 октября 2016 в 17:55
+2↑
↓
Описанные вами методы недостаточны для параноидальных программ. Как правило авторы коммерческого ПО используют по 3–4 метода детекта виртуальной машины, неговоря уже про malware.
VMware может быть задетектирована:
1) Проверками диапазона MAC адресов
2) Наличием sys файлов на диске (в случае установки VMware Tools)
3) Через WinAPI опросом конфигурации ОС и прочей системной информации (FirmwareTable)
4) Низкоуровневыми трюками.