我在栈溢出中经过了somelinks。但是这里给出的代码不适用于虚拟盒子。我也尝试redpill但那不工作。我的应用程序将运行在Linux和Windows(最好)。
如果有人有任何解决方法,请让我知道。检测虚拟框上运行的应用程序
编辑:普里特僧伽的链接不从http://www.gedzac.com/rrlf.dr.eof.eZine/articles/WarGame/vboxdetect.html
检查工作,以及
我在栈溢出中经过了somelinks。但是这里给出的代码不适用于虚拟盒子。我也尝试redpill但那不工作。我的应用程序将运行在Linux和Windows(最好)。
如果有人有任何解决方法,请让我知道。检测虚拟框上运行的应用程序
编辑:普里特僧伽的链接不从http://www.gedzac.com/rrlf.dr.eof.eZine/articles/WarGame/vboxdetect.html
检查工作,以及
如果伪设备\\.\VBoxMiniRdrDN
存在于系统中(你需要CreateFile
())
#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
if(CreateFile("\\\\.\\VBoxMiniRdrDN",GENERIC_READ,FILE_SHARE_READ,
NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL) != INVALID_HANDLE_VALUE)
{
MessageBox(NULL,"VBox detected!","Warning",MB_OK|MB_ICONWARNING);
}
else
{
MessageBox(NULL,"Not inside VBox","Info",MB_OK|MB_ICONINFORMATION);
}
}
我试过这个..但是这不起作用(试用win xp,vbox3.2) – ashmish2
你有没有运行客户端工具? –
垂直框1.0使用不同的方法。检查http://spth.virii.lu/eof2/articles/WarGame/vboxdetect.html
否。虚拟化的通用目的是通过“足够接近”同时在同一硬件上运行多个操作系统 - 不一定难以区分。 –