Page 1 of 1

How can I hide VM to windows guest applications

Posted: 28. Sep 2011, 12:32
by lalebarde
Hi,
I bought a CD which is delivered with a windows application with no open source equivalent. As I am a Linux user, I have a windows XP guest on a VM for such purpose. But the installer claims it detects it is in a VM and stops. Creasy ! No :shock: ?

So my question is : Is there a way to hide the windows guest it is in a VM ?

I know I have to configure the network through a tap interface and to bridge it with my host network in order they are on the same subnetwork, instead of using NAT, but that is not enough. I assume there are some entries in the register database that says VirtualBox is under.

Re: How can I hide VM to windows guest applications

Posted: 28. Sep 2011, 13:41
by mpack
Ultimately, you cannot hide the VM environment from the application, if the programmer who created that app was even halfway competent. There are just too many ways to detect or at least infer (with no practical downside to a bad guess) a virtual environent.

Of course, the programmer of your app may have been lazy, or the check designed to catch something else, in which case it may be possible to circumvent the check. However there is no way to give a generic answer to your question, we would need to know what the app is. Also be warned in advance that we will not help you violate the license terms of any application.

Re: How can I hide VM to windows guest applications

Posted: 28. Sep 2011, 18:36
by lalebarde
Thanks for your reply. What I bought is some magazine archive. I have checked the CDROM. Each article is in pdf format in some directory. Then, Greenstone (http://www.greenstone.org/) is used " for building and distributing digital library collections. It provides a new way of organizing information and publishing it on the Internet or on CD-ROM". A LICENCE.txt presents the Greenstone licence which is GPL. There is no more licence file in the CDROM. I checked :

Code: Select all

# find /mnt/cdrom/ -iname "*license*"
/mnt/cdrom/LICENSE.txt
There is also a Readme.pdf which explains the CDROM contains PC and MAC versions.
So there is no reason to not being able to get it work in a VM.
Checking deeply the CDROM and finding this greenstone GPL licence, I checked the greenstone project and it appear that they have a linux version. So I am going to install this one and try to use it with that CDROM.
Then I will check if the version on the CD has been modified from the one of the project. It is surprising that an application GPL licence distributed under Linux, Mac OS and Windows refuses VMs !!!

Re: How can I hide VM to windows guest applications

Posted: 30. Sep 2011, 19:30
by poulbak
I suggest you contact the creator and in particular asks, why they have put such a restriction on the software. They are the ones that know the answers to your questions.
May be they have a good explanation or can help you remove the restriction.

Re: How can I hide VM to windows guest applications

Posted: 3. Oct 2011, 18:36
by lalebarde
poulbak wrote:I suggest you contact the creator and in particular asks, why they have put such a restriction on the software. They are the ones that know the answers to your questions.
Sure, and I did it first. But I have still no answer !!!

Re: How can I hide VM to windows guest applications

Posted: 3. Oct 2011, 18:42
by mpack
Well, certainly in my case, and I suspect for most everyone else on this site, your application is too obscure for us to say anything about it. As already suggested, you really do have to approach the people who made it and ask them about its design features. If they don't answer... well there's nothing we on this site can do about that. The basic answer to your question is already given: it is not possible to reliably hide the VM environment from a guest app, if the guest app is serious about detecting it.

Re: How can I hide VM to windows guest applications

Posted: 4. Oct 2011, 01:41
by scp
A simple way to start would be to change the DMI data:

Code: Select all

VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor"   "Intel"
VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiSystemProduct"  "To be filled by OEM"
VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor"     "Phoenix"
VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion"    "1.0"
VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisVendor"  "Intel"
VBoxManage setextradata "My VM" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisVersion" "1.0"

Re: How can I hide VM to windows guest applications

Posted: 4. Oct 2011, 12:43
by mpack
Changing the DMI data is unlikely to prevent detection of a virtual environment.

If I was the programmer and wanted to ensure that my software was not installed in a virtual environment, I would look for known virtual hardware ("VBOX HARD DISK"), long obsolete hardware, and finally I would look for timing anomalies in certain CPU instructions, indicating that they are being trapped and redirected.

I would certainly not rely on signatures such as DMI. My goal is not to node lock myself to a single PC, my goal is to detect that the current environment is virtual.