Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 18.06.2015
Сообщений: 18

Как определить, на виртуальной машине ли запущен bat-файл или нет?

04.08.2015, 16:12. Показов 4677. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот, что и нужно, чтобы при запуске бат файла в виртуальной машине выводилось сообщение:"Произведён запуск на виртуальной машине", а если запущен на обычной системе, то: "Запущено на обычной системе". Как вывести сообщение я-то понимаю:
Windows Batch file Скопировано
1
echo message
Но как проверить, что запущено на виртуальной машине или нет - не знаю, думал есть какой-то особый процесс, но проверил список процессов на Virtual Box - ничего особого не нашёл, гуглил - нашёл только вот что: http://www.codeproject.com/Art... -a-Virtual , но там по идее на C
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.08.2015, 16:12
Ответы с готовыми решениями:

Как из VB определить запущен или нет Word?
Как из VB определить запущен или нет Word?

Определить запущена программа на виртуальной машине или на настоящей
Сабж. Например запустил программу, нажал на кнопку, и вылезло сообщение "Виртуалка" - Это если на виртуалке запущено ну и т,д

Как открыть файл .class в виртуальной машине Java?
Добрый день! Подскажите, пожалуйста, как открыть файл .class в виртуальной машине Java? И где можно скачать эту самую машину? Заранее...

21
4339 / 2129 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
05.08.2015, 00:28
MEGoEGOwORLD, В статье код на C++, думаю туда надо адресовать вопрос.
0
0 / 0 / 0
Регистрация: 18.06.2015
Сообщений: 18
05.08.2015, 01:15  [ТС]
Хм, попробую
0
 Аватар для ranebull
546 / 379 / 56
Регистрация: 23.06.2013
Сообщений: 1,181
Записей в блоге: 6
05.08.2015, 06:52
Цитата Сообщение от MEGoEGOwORLD Посмотреть сообщение
процессов на Virtual Box - ничего особого не нашёл
Если VirtualBox - то проверять на существование Guest Additions. Вам же только VirtualBox нужен, Vmware не нужен?
0
05.08.2015, 09:14

Не по теме:

в

Цитата Сообщение от ranebull Посмотреть сообщение
Vmware
тоже есть дополнения гостевой ОС...

0
05.08.2015, 10:11

Не по теме:

Цитата Сообщение от magirus Посмотреть сообщение
тоже есть дополнения гостевой ОС...
Vmware Tools. Вопрос, как проверить те же Xen и KVM?

0
0 / 0 / 0
Регистрация: 18.06.2015
Сообщений: 18
05.08.2015, 18:58  [ТС]
Желательно чтобы не только Vitual Box...

Добавлено через 4 минуты
И как проверить через бат "существование Guest Additions" ?
0
 Аватар для ranebull
546 / 379 / 56
Регистрация: 23.06.2013
Сообщений: 1,181
Записей в блоге: 6
05.08.2015, 19:19
Цитата Сообщение от MEGoEGOwORLD Посмотреть сообщение
И как проверить через бат "существование Guest Additions" ?
В гостевую машину установятся файлы, связанные с VmWare. Точнее не скажу, т.к. этим продуктом почти не пользовался. Можно автозагрузку проверить ( в том же VirtualBox в автозагрузке стоят как раз Guest Additions).
0
0 / 0 / 0
Регистрация: 18.06.2015
Сообщений: 18
06.08.2015, 00:20  [ТС]
Хмм в девственно-чистой Windows 7, в VirtualBox поиск по реестру "Guest Additions" ничего не показал и автозагрузке через msconfig так же пусто...
0
 Аватар для ranebull
546 / 379 / 56
Регистрация: 23.06.2013
Сообщений: 1,181
Записей в блоге: 6
06.08.2015, 06:49
Цитата Сообщение от MEGoEGOwORLD Посмотреть сообщение
Хмм в девственно-чистой Windows 7, в VirtualBox поиск по реестру "Guest Additions" ничего не показал и автозагрузке через msconfig так же пусто...
А вы установили в гостевую машинку Guest Additions?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18023 / 7726 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.08.2015, 20:44
Как bat-файлу определить, что он запущен на виртуальной машине?
Поинтересуюсь из любопытства, зачем это надо?

Добавлено через 1 минуту
Цитата Сообщение от alpap Посмотреть сообщение
В статье код на C++
Ассемблер.
0
 Аватар для Kira_the_first
7 / 7 / 1
Регистрация: 23.10.2016
Сообщений: 78
23.10.2016, 21:48
Батником это можно сделать! Без всяких дополнительных программ и ассемблерных инструкций(лично моё "открытие", если знаете другой способ - рад вас выслушать), вариант подойдёт для любых виртуальных машин(Vbox, Vmvare, и другие), нужно экспортировать в файл значение реестра которое указывает на загрузку системы(или как-то так, точно не помню описания), на виртуальных машинах в этом значении будут присутствовать символы: VB,vb,VM,vm их то мы и будем искать, если нашли - мы на виртуалке. Существуют ещё и другие способы поиска "виртуальных" ключей в реестре(значение видеокарт например), но на первых порах и этого хватит(если юзер не доверяет батнику, то он скорее его разберёт или не запустит, чем будет тестировать его на виртуалке). Надеюсь что вам помогло(ровно с таким же вопросом я рыскал по интернету, ничего не нашёл, и пришлось делать самому; кстати на батнике можно и скрыть свой процесс из диспетчера задач, шах и мат всем кто говорил: "на батнике такое невозможно, возьми более нормальный язык, С++ например").
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
23.10.2016, 22:08
Цитата Сообщение от MEGoEGOwORLD
...нужно, чтобы при запуске бат файла в виртуальной машине...
VMWare помечает свой "BIOS" своим же именем, например, на команду:
Windows Batch file Скопировано
1
wmic bios get manufacturer
Выводится в моем случае VMWare, Inc. То же будет справедливо и для прочих виртуальных машин: вся та малварь, которую приходилось реверсить, определяла виртуальное окружениеименно таким способом.
0
Эксперт Python
5437 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
24.10.2016, 13:55
Цитата Сообщение от Kira_the_first Посмотреть сообщение
Батником это можно сделать!
Можно, при условии, что виртуальная машина не замаскирована от таких проверок.
Серьезные малвари используют алгоритм 'параноидальной рыбки' (тулза pafish), которая проверяет на запуск из песочницы и виртуалки 50 способами. И даже это не дает 100% гарантии.
И какой процент вероятности дает проверка только одного параметра через ваш,Kira_the_first, батник? Практически нулевой, если использовать его не только на вашей личной виртуальной машине.

Цитата Сообщение от Kira_the_first Посмотреть сообщение
шах и мат всем кто говорил: "на батнике такое невозможно
Если мальчик из детского сада направит на вас водяной пистолет и скажет: "я тебя убил, падай," - то если принять его правила игры - водяной пистолет тоже оружие и из него тоже можно убить.
0
 Аватар для volodin661
6334 / 2174 / 341
Регистрация: 10.12.2013
Сообщений: 7,472
24.10.2016, 14:18
Во всём согласен с Garry, но, приняв как допущение, что дс-мальчик российский и смотрит
российское же телевидение, ключевую фразу надо заменить на "Я тебя убил, падла".
0
 Аватар для Kira_the_first
7 / 7 / 1
Регистрация: 23.10.2016
Сообщений: 78
24.10.2016, 15:21
Я сказал что это лишь один из способов, и он фактически бесполезен от мало-мальски опытного юзера даже если мы используем в батнике все 50 способов сокрытия, нажал ПКМ Изменить, и читай код себе. Если учесть что виртуальные машины в основном не модифицируют после установки, тогда вероятность вычисления виртуальной среды-100%(на VMvare тестировалось). Не совсем понял насчёт мальчика с пистолетом(предположим что у него вместо воды синильная кислота, тогда вполне можно убить). Мне нужно было решить задачу определённым способом-я её решил, разве не это принцип программирования, решить неординарную проблему которое ничто другое решить не способно(инными словами я принял вызов и выиграл спор с тем человеком, у него аж глаза на лоб вылезли от увиденного)?
0
 Аватар для volodin661
6334 / 2174 / 341
Регистрация: 10.12.2013
Сообщений: 7,472
24.10.2016, 17:02
Цитата Сообщение от Kira_the_first Посмотреть сообщение
я принял вызов и выиграл спор
о чём спор-то был ? и вызов опять же... Пушкин раз 17 затевал дуэли, ты помнишь, чем это кончилось?

А батник.. Батником называют текстовый файл, обрабатываемый интерпретатором cmd.exe
( а если точнее, тем исполняемым файлом, который задан переменной %comspec% )
в котором может находиться некая последовательность вызова других исполняемых файлов + некоторые предопределённые инструкции ( copy, del, move, rename, echo, type, a также set, if, for, goto, call )

поэтому фраза
Цитата Сообщение от Kira_the_first Посмотреть сообщение
Без всяких дополнительных программ
является некоторым допущением;
консольные программы reg.exe, print.exe, find.exe, findstr.exe, more.com, xcopy.exe, clip.exe, robocopy.exe, wmic.exe, where.exe, ftp.exe, telnet.exe итд просто находятся в system32, причём некоторые из перечисленных могут там и отсутствовать в зависимости от версии Windows.

с появлением Windows-репозитория вся эта суета типа 'штатное средство'/'чужая программа' должна исчезнуть.
0
Эксперт Python
5437 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
24.10.2016, 17:07
Цитата Сообщение от Kira_the_first Посмотреть сообщение
виртуальные машины в основном не модифицируют после установки
С учетом того, что виртуальные машины стали часто использоваться, чтобы обойти ограничения некоторых программ (тех же игр, к примеру), либо в качестве защиты от вирусов, стало актуальным и маскирование VM разными AntiVMDetect. В этих случаях проверка по реестру ничего не даст.
Цитата Сообщение от Kira_the_first Посмотреть сообщение
Мне нужно было решить задачу определённым способом
Вот вам и суть и метафоры про мальчика: если закрыть глаза на все "но" при решениях на batch, то это тоже можно назвать решением. А 'синильной кислотой' вы batch не зарядите - заводская комплектация не позволит.
Цитата Сообщение от Kira_the_first Посмотреть сообщение
и выиграл спор с тем человеком, у него аж глаза на лоб вылезли от увиденного
Решение с реестром известно еще с момента появления самих VM. Вам просто повезло нарваться на неосведомленного человека.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18023 / 7726 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.10.2016, 17:50
Цитата Сообщение от Garry Galler Посмотреть сообщение
..., стало актуальным и маскирование VM разными AntiVMDetect. В этих случаях проверка по реестру ничего не даст.
Есть программы, которые делают и наоборот. Пишут мусор в хостовую машину, чтобы притвориться эмулятором. Вспомогательный слой защиты от запуска вируса.
0
 Аватар для Kira_the_first
7 / 7 / 1
Регистрация: 23.10.2016
Сообщений: 78
19.11.2016, 19:42
Так, всем по порядку
Цитата Сообщение от volodin661 Посмотреть сообщение
Без всяких дополнительных программ
является некоторым допущением;
консольные программы reg.exe, print.exe, find.exe, findstr.exe, more.com, xcopy.exe, clip.exe, robocopy.exe, wmic.exe, where.exe, ftp.exe, telnet.exe итд просто находятся в system32, причём некоторые из перечисленных могут там и отсутствовать в зависимости от версии Windows.
Тут ключевое слово "дополнительных" тоесть тех которые не нужно дополнительно устанавливать на компьютер.
Цитата Сообщение от Garry Galler Посмотреть сообщение
А 'синильной кислотой' вы batch не зарядите - заводская комплектация не позволит.
Смешно(неужели не понятно о чём я? если провести паралель, то кислота- троянская консольная программа, а водяной пистолет - цмд-интерпретатор, по отдельности не слишком опасны, но вместе могут убить(человека\ОСь), как пример(порчи файлов): pgp.exe+vault.bat(кто "в теме" тот поймёт) )
Цитата Сообщение от Garry Galler Посмотреть сообщение
Вам просто повезло нарваться на неосведомленного человека.
Он ещё осведомлённый) знает как юзать консоль и реестр. 2/3 населения вообще не знают что это такое, для них компьютер лишь средство чтоб в игры поиграть и в соц.сети лазить, не говоря уже о администрировании
, их этим нельзя удивить им это неинтерестно(они вообще не понимают о чём речь), удивить можно только того, кто "в теме".
Цитата Сообщение от Dragokas Посмотреть сообщение
Есть программы, которые делают и наоборот.
Всё что хочешь есть) а чего нет - мы сами напишем! Нужна только идея, и возможный алгоритм реализации.
Цитата Сообщение от Dragokas Посмотреть сообщение
Вспомогательный слой защиты от запуска вируса.
Надеяться на то, что попадётся "умный" вирус и сам отключится - не разумно как по мне(помню где-то читал технику заражения основной ОС из под виртуальной). А "глупый" вирус, который не проверяет наличие виртуалки и так навредит(в основном такие и пишут "школьники"), даже на вспомогательную защиту такое нельзя ставить - ложное чувство защищённости + куча мусора(а место то этот мусор занимает). Как говорят: главная проблема компа - сам юзер, чем и пользуются "продвинутые юзеры"(если бы компы жили сами по себе, на них никогда бы не было вирусов), а значит лучшая защита: прямые руки и чистые мозги(не качать мальварь, копировать инфу).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.11.2016, 19:42
Помогаю со студенческими работами здесь

Как определить, что программа выполняется в виртуальной машине?
Подскажите, как можно определить, что программа выполняется в виртуальной машине (например, VirtualBox). Вариант с дескрипторными таблицами...

Как узнать откуда запущен bat файл при запуске от имени администратора?
Есть bat файл, который работает только от админа. Мне нужно сделать так, чтобы он удалял файл в папке,из которой он запущен, т.е. нужен...

Нет интернет на Fedora в виртуальной машине vmware workstation player
Добрый вечер господа. Решил установить на виртуалку Fedora. Но не задача, "интернет или есть, или нет". Короче если пинговать какой...

Как с помощью VBA узнать запущен Outlook или нет?
узнать запущен Outlook или нет. Заранее спасибо.

Проверять каждые 2-3 секунды, запущен ли файл 1.wav, если да, то запустить 1.bat
доброго времени суток подскажите пожалуйста как написать BAT CMD или VBScript который будет проверять каждые 2-3 секунды, запущен ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи с помощью арктангенса для метода обработки данных из double buffering.
Hrethgir 10.04.2025
Публикация в доработке, метод арктангенса в комментариях внизу. Вообще изначально я пренебрёг квадратурой числа, но потом понял, что для вычисления приблизительного значения - сгодится, формулу. . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер