jono
jono
Wow this is annoying... one issue I'm encountering is the Windows scheduler kicking us off the CPU right after we execute `cpuid`, but before we execute `rdtsc`. This is much...
Optimization: we can ignore `cpu->hide_vm_exit_overhead` if we can confirm that the vm-exit was triggered from a "safe" module (i.e. a module that is guaranteed to not be timing us). Essentially,...
> You may also run into multi-threaded timing checks which are not so easily defeated. I'm not sure there is a way to actually hide time in this scenario aside...
The [latest commit](https://github.com/jonomango/hv/commit/73cbbac8dc33144cb00877c68f8053e9d08cfc86) evades attacks 1 and 3 but will still fail for method 2.
Hi, can you check to see if you get a BSOD with the latest commit? https://github.com/jonomango/hv/commit/86ca9f50238c65b75ef04fdec1f6c45d8e98fdbf
I am honestly not sure what the cause of this issue could be. Try replacing um/main.cpp with only the following: ```cpp int main() { if (!hv::is_hv_running()) { printf("HV not running.\n");...
Got it. I'll probably add some checks to see if IA32_PERF_GLOBAL_CTRL is supported.
Most kernel functions cannot be used in root-mode because we are effectively running at irql HIGH_LEVEL. As for your second question, that is pretty weird. Maybe it is due to...
Unfortunately it is not possible. Those hypervisors only work because they are done incorrectly and dont properly separate the guest and host state.
I have included a logger for printing, which you could use instead.