Niektóre programy zawierają testy sprawdzające, czy działają na maszynie wirtualnej.
Bardzo nieprzyjemne jest wyświetlanie komunikatów alarmowych, takich jak „Przepraszamy, ta aplikacja nie może działać pod maszyną wirtualną”. i zatrzymaj swoje oprogramowanie!
Istnieje wiele powodów prawnych, aby zastąpić takie testy. Ponadto takie ograniczenia nie są (w większości przypadków) nie zapisane w umowach licencyjnych użytkownika.
Więc ... jak ukryć fakt, że maszyna wirtualna uruchamia program? Nie chcę, aby programy, które wykonują to skanowanie, wykryły uruchomioną maszynę wirtualną.
Używam Virtual Private Server (VPS) z Hyper-V ... Jestem administratorem systemu operacyjnego (Windows 2003) zainstalowanego na tym VPS, a nie administratora Hyper-V.
źródło
Odpowiedzi:
Krótko mówiąc, myślę, że po prostu nie możesz. Jest to dyskusja na temat złośliwego oprogramowania próbującego wykryć, czy działa w maszynie wirtualnej, aby uniknąć wykrycia przez systemy używające maszyn wirtualnych do uruchamiania kodu w celu sprawdzenia, czy nie ma złośliwego oprogramowania.
Niektóre szybkie odniesienia to: VRT: W jaki sposób złośliwe oprogramowanie zna różnicę między światem wirtualnym a światem rzeczywistym? i The Dead Giveaways of VM-Aware Malware .
źródło
O ile wiem, zależy to od rodzaju używanej wirtualizacji.
Zacznijmy od tego, że możesz z pewnością złagodzić pewne rzeczy (np. Zmienić adres MAC, odinstalować dodatki dla gości).
Jeśli jednak uruchomisz pełną wirtualizację, hiperwizor emuluje sprzęt dla gości. Emulowany procesor będzie miał swój własny (programowy) zegar, który wkrótce lub później pokaże różne prędkości, kiedy nie powinien.
Jest to jedna z rzeczy, których nie można naprawić w żaden sposób, a program (głównie złośliwe oprogramowanie) będzie wiedział, że działa w VM.
Możesz to wypróbować za pomocą wirtualizacji Paravirtualization, która polega na użyciu prawdziwego sprzętu w zamkniętym środowisku.
źródło