Задать вопрос
@samanwirst
Вроде бы человек

Как скрыть «BOCHS» и «EDK II» в виртуальной машине QEMU?

Моя задача - запустить VM, чтобы программы по типу SEB (Safe Exam Browser) не палили машину

Сейчас запускаю виртуальную машину с Win10 на борту, с помощью QEMU используя virt-manager (сам сижу на arch linux). Хочу скрыть абсолютно все следы и признаки вм.

На данный момент осталось единственное поле, которое палит вм. При вводе с машины в cmd:
wmic bios get BIOSVersion
Получаю:
BIOSVersion
{"BOCHS  - 1", "unknown", "EDK II" - 10000"}

Как раз таки "BOCHS" и "EDK II" являются ярыми признаками QEMU при детекте

Контекста, что я уже сделал:
  1. Провел изменения в XML
  2. Собрал собственные OVMF_CODE.fd и OVMF_VARS.fd используя этот репо (полностью убрал любое упоминание VM)
  3. Установил Windows 11 по ISO образу


Машины на VMware и VirtualBox не поддерживают гибкой настройки вплоть до BIOS (SMBIOS.reflectHost = "True" не работает), отсюда был вынужден переходить QEMU. До этого ни разу так глубоко не работал с виртуальными машинами, и моего опыта недостаточно. Обращаюсь к знатокам за помощью, т.к. мучаюсь уже трое суток.

Моя задача как и упоминалось выше, чтобы программы по типу SEB не палили машину. Возможно у вас будут и другие методы как получить желаемое.

Все необходимые файлы для подробного расмотрения выложил сюда
  • Вопрос задан
  • 6762 просмотра
Подписаться 10 Сложный 4 комментария
Пригласить эксперта
Ответы на вопрос 2
TrueBers
@TrueBers
Гуглю за еду
А с чего ты решил, что палит эта строка?

Детект VM это космическая технология с эвристиками, проверками таймеров, частоты\тиков процессора, подсчётом тактов, которые затратил VM-exit, обманом этих хендлеров, и прочие хитрые манипуляции.

По строкам только идиоты детектят сейчас, всё гораздо сложнее. Нужно разбираться как работает виртуализация на аппаратном уровне, патчить гипервизор или писать свой.
Ответ написан
15432
@15432
Системный программист ^_^
Эти строки идут из UEFI, видимо вы не весь биос пересобрали. Вот на reddit пишут:

Some of the strings used to be EFI development kit under /OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c

For Seabios, change :
Bochs & BXPC inside of src/config.h ( multiple occurances )
/QEMU\/Bochs/ & qemu inside of vgasrc/Kconfig
/06\/23\/99/ inside ofsrc/misc.c
/04\/01\/2014/ inside of src/fw/biostables.c
"s/01\/01\/2011 inside of src/fw/smbios.c
seabios inside of src/fw/biostables.c


Как совсем тупой вариант - открыть образ QEMU UEFI в UEFI Tool, найти поиском по строкам соответствущие строки, отредактировать и заменить эти модули UEFI
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы