cplusplus
.com
TUTORIALS
REFERENCE
ARTICLES
FORUM
C++
Tutorials
Reference
Articles
Forum
Forum
Beginners
Windows Programming
UNIX/Linux Programming
General C++ Programming
Lounge
Jobs
Forum
General C++ Programming
Detecting Virtualization
Detecting Virtualization
Jul 27, 2010 at 7:55am UTC
togikan
(9)
If it is possible how can i detect virtualizaton on 64bit virtual machines? In 32 bit system it can be with lower level (inline assembly) programming but in 64 bit it is not available, x64 intrinsics using instead of inline assembler.
Last edited on
Jul 27, 2010 at 2:48pm UTC
Jul 27, 2010 at 2:47pm UTC
togikan
(9)
Here is the code works for 32bit.
bool IsInsideVMWare(void) {
bool rc = true;
__try
{
__asm
{
push edx
push ecx
push ebx
mov eax, 'VMXh'
mov ebx, 0 // any value but not the MAGIC VALUE
mov ecx, 10 // get VMWare version
mov edx, 'VX' // port number
in eax, dx // read port
// on return EAX returns the VERSION
cmp ebx, 'VMXh' // is it a reply from VMWare?
setz [rc] // set return value
pop ebx
pop ecx
pop edx
}
} __except(filter(GetExceptionCode()))
{
rc = false;
}
return rc;
}
Jul 27, 2010 at 2:53pm UTC
moorecm
(1932)
http://www.cplusplus.com/forum/general/26387/
Topic archived. No new replies allowed.