38 / 38 / 16
Регистрация: 14.03.2012
Сообщений: 168
|
|
Определить запущена программа на виртуальной машине или на настоящей19.07.2013, 15:46. Показов 11112. Ответов 14
Метки нет Все метки)
(
Сабж. Например запустил программу, нажал на кнопку, и вылезло сообщение "Виртуалка" - Это если на виртуалке запущено ну и т,д
0
|
19.07.2013, 15:46 | |
Ответы с готовыми решениями:
14
Определить запущена ли программа в виртуальной среде Как определить, что программа выполняется в виртуальной машине? Как определить, на виртуальной машине ли запущен bat-файл или нет? |
![]() 178 / 153 / 10
Регистрация: 08.11.2012
Сообщений: 224
|
|
19.07.2013, 17:26 | |
Проверяйте при запуске программы оборудование на виртуальной машине на присутствие таких вещей как:
Дисковод - VBOX CD-ROM Жесткий диск - VBOX HARDDISK Видеокарта - VgaSave Если что нибудь из списка имеется то скорей всего программа запущена на виртуалке.
2
|
![]() 1591 / 664 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
|
||||||
19.07.2013, 18:42 | ||||||
0
|
![]() 1591 / 664 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
|
||||||
19.07.2013, 19:59 | ||||||
функция возвращает True если запущенна под виртуалкой, False в противном случае ... или перенесите код функции:
0
|
Ушел с форума
![]() ![]() |
|
19.07.2013, 20:51 | |
Только эвристика. Надежного и стопроцентно рабочего способа нет.
Кое-что можно "заподозрить", перебирая имена устройств в оборудовании, есть также у разных виртуалок свои особые "бэкдоры", можно проверять систему на их наличие, также искать процессы и службы, которые работают только в виртуальной среде и имеют специфические имена. Чем больше способов в совокупности будет применяться, тем выше надежность детекта. Тема сложная, короче говоря. Поищите в Гугле документ под названием "thwarting virtual machine detection", может найдете что-то интересное. Еще есть вот такая статья: http://www.codeproject.com/Art... -a-Virtual Добавлю, что в некоторых ситуациях граница между виртуальной машиной и физической становится весьма размытой. Например, если вы установите роль Hyper-V на Windows Server 2008, он сам станет виртуальной машиной (т.н. bare metal Hypervisor).
1
|
38 / 38 / 16
Регистрация: 14.03.2012
Сообщений: 168
|
||||||
19.07.2013, 22:50 [ТС] | ||||||
Вобщем выкладываю весь код. Может кому то понадобится. Добавил еще проверку на название CD И DVD Дисковода
Возникла одна проблемка... Если запускать эту программу в режиме отладки - ВСЕ ОК! Если запускать готовый проэкт в exe - Вылазит ошибка! Как быть?
0
|
Ушел с форума
![]() ![]() |
|
19.07.2013, 22:56 | |
Не уверен, но кажется для работы с WMI-запросами нужны права администратора.
0
|
Ушел с форума
![]() ![]() |
|
19.07.2013, 23:18 | |
0
|
19.07.2013, 23:18 | ||||||
Помогаю со студенческими работами здесь
15
Программа не запускается на виртуальной машине Windows XP
Узнать программа запущена пользователем или из автозагрузки Проверка: программа запущена от имени администратора или нет Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Результаты исследования от команды MCM (март 2025 г.)
Programma_Boinc 07.04.2025
Результаты исследования от команды MCM (март 2025 г. )
В рамках наших текущих исследований мы продолжаем изучать гены, которые имеют наибольшую вероятность развития рака легких, выявленные в рамках. . .
|
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
|
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
|
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
|
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
|
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
|
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
|
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
|
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
|
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
|