/*
* gcc -Wall -o checkVM checkVM.c
* check linux OS in VMare ?
* by alert7
*
*/
#include
#include
struct idtr {
unsigned short limit;
unsigned int base;
} __attribute__ ((packed));
unsigned int get_addr_idt() {
struct idtr idtr;
asm("sidt %0" : "=m" (idtr));
return idtr.base;
}
int main(int argc, char ** argv)
{
unsigned int ptr_idt;
ptr_idt=get_addr_idt();
printf("IDT Addr %p /n",ptr_idt);
if ( (ptr_idt>>24)==0xc0)
printf("Real Linux/n");
else printf("Maybe in VMare/n");
return 0;
}
alert7写的检测linux是否运行在VMWARE中的一个程序
最新推荐文章于 2026-06-19 16:38:17 发布
博客给出一段代码,通过gcc编译checkVM.c文件生成可执行程序。代码定义结构体idtr,获取IDT地址,根据地址判断Linux系统是运行在真实环境还是VMware虚拟机中。

2301

被折叠的 条评论
为什么被折叠?



