Ask HN: How to tell if you're in a virtual machine?

https://news.ycombinator.com/item?id=22317851
by bsenftner • 6 years ago
13 8 6 years ago

Trying to figure out how to identify if an application/process is running inside a virtual machine under Windows and Ubuntu. This is for software licensing, so someone cannot license one copy of our enterprise software in a VM and then run infinite copies inside VMs.

I am focusing on Windows first, as that is expected to be more complicated. The application is a C++ GUI application, with a typical GUI and such.

Since we work in C++, I spent some time looking at the Windows Management Instrumentation (WMI) COM interfaces, but suspect that method can be fooled quite easily. And that method only identifies using the built-in Windows virtualization, and not other virtualization methods as used by VMWare or VirtualBox.

I've also seen statements that a timing test is the only reliable method, but with processor speed increases, is that method unstable as well?

Related Stories

Loading related stories...

Source preview

news.ycombinator.com