VirtualMachineDetect


//

//  Code to determine if we are executing in a virtual machine (VMware /

//  VirtualPC etc).

//

//  Michael Wookey / March 2006

//


#include <stdio.h>



int running_in_vm()

{

    int rc = 0;

    unsigned char ldt[2] = {0};

    

    __asm sldt ldt;

    

    if ((ldt[0] != 0x00) && (ldt[1] != 0x00))

    {

        rc = 1;

    }

    

    return rc;

}



int main(int argc, char * argv[])

{

    if (running_in_vm())

    {

        printf("Running in a Virtual Machine.\n");

    }

    else

    {

        printf("Running on a native machine.\n");

    }

    

    return 0;

}


/* EOF */