Here is a little program I made to help with VM detection.
It reads the cpu name and checks the average RDTSC timing of the CPUID instruction over 100000 executions.
CPUID takes around 350 cycles to execute on a Native OS but around 2500-3500 cycles in a VM. It should also notice a timing difference if VMX is enabled and used for intel cpus due to the TLB having to be rewritten in part.
The only thing i think that could fool it is Blue Chicken in the New Blue Pill.
I hope it can be of use to somebody.
TiGa
Bookmarks