They are all privileged(??) x86 instructions.
sidt
: Stores the Interrupt Descriptor Table Register (IDTR) content. (Red pill)sldt
: Stores the segment selector from the Local Descriptor Table Registersgdt
: Stores the Global Descriptor Table Register (GDTR) content.str
: Stores the segment selector from the Task Register (TR).
Their values are supposed to be different on VM compared to host. I've already run my tests and these techniques do not seem to work on a VMware Workstation 12.
All I'm asking is if someone else has encountered the same behavior.