Я пытаюсь запустить программу через Ubuntu 16.04 в качестве виртуальной виртуальной машины.
Двоичный файл этой программы проверяет, работает ли он на виртуальной машине, и выполняет на виртуальной машине что-то другое, чем на данном компьютере.
Как я могу узнать, что запрашивает двоичный файл? Могу ли я использовать что-то вроде strace
или ldd
для этого?
Я хотел бы иметь возможность запускать бинарный файл, как если бы он был на реальной машине, а не на виртуальной машине. Я предполагаю, что должен быть способ изменить то, что сообщает Ubuntu 16.04, когда бинарный запрос запрашивает его.
Люди и приложения начали кодировать парсинг dmidecode, специальную обработку инструкции (VMware) и другие вещи. Но часто такой код становится устаревшим больше никаких соответствующих новых версий и технологий виртуализации.
, по моему скромному мнению, безусловно самый надежный путь состоит в том, чтобы полагаться на в наше время повсеместный systemd и просто звонить systemd-detect-virt
, преимущества ясны, много VM и контейнерные типы уже реализованы, Вы получаете обновления вдоль новых systemd версий и имеете меньше собственного кода, который необходимо поддержать.