虚拟机识别
创始人
2024-04-04 11:27:17
0

虚拟机识别


虚拟机软件在模仿真机时会保留一些工作,例如特定的文件、进程、注册表项、服务、网络设备适配器等,通过它们可以帮助我们分辨虚拟机与真机。 检查CPU指令●CPUID 
该指令以EAX = 1作为输入执行,返回值描述处理器功能。在物理机器上的ECX位将等于0。访客VM将等于1。 ●"Hypervisor brand"
通过设置EAX = 40000000,随后调用CPUID,将获得EAX,ECX,EDX中的虚拟化供应商字符串作为返回值。
例如:Microsoft: “Microsoft HV”,VMware : “VMwareVMware”。 ●MMX
Intel指令集,旨在更快地处理图形应用程序。虚拟机通常不支持这些功能,因此如果不存在,可能表明程序正在VM中运行 ●IN – "VMWare Magic Number"
参考资料: 微机原理
《INTEL 80386 PROGRAMMER'S REFERENCE MANUAL 1986》
8086为了区分访问内存和外设,硬件上有一个专门的引脚M/IO,指令集中则为访问外设单独提供了in/out指令。
《x86汇编---VGA显示》中为了关闭光标显示,有如下代码,这 两行代码读取外设 CRTC数据寄存器中的数据。
其中0x3D5为外设端口地址
在VMWare中,通过特定的I/O端口与主机进行通信。如果在VM中运行,下面的代码将成功执行,否则失败。 检查已知的Mac地址
MAC地址的前缀表示网络适配器的供应商。可以通过多种方式检索MAC地址,包括使用WMIC(wmic-> nic list)●00:05:69 (Vmware)●00:0C:29 (Vmware)●00:1C:14 (Vmware)●00:50:56 (Vmware)●08:00:27 (VirtualBox) 检查注册表
存在以下注册表项时表明存在虚拟化软件●HKLM\SOFTWARE\Vmware Inc.\\\Vmware Tools●HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 2\Scsi Bus 0\Target Id 0\Logical Unit Id 0\Identifier●SYSTEM\CurrentControlSet\Enum\SCSI\Disk&Ven_VMware_&Prod_VMware_Virtual_S●SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\root#vmwvmcihostdev●SYSTEM\CurrentControlSet\Control\VirtualDeviceDrivers 检查vm进程
检查进程的方式很多:WMIC, Win API and CMD. WMIC (wmic -> process list), Win API (Process32First, Process32Next), and Tasklist.exe。●Vmware○Vmtoolsd.exe○Vmwaretrat.exe○Vmwareuser.exe○Vmacthlp.exe●VirtualBox○vboxservice.exe○vboxtray.exe 检查文件
如果发现系统中存在这些文件,则表明存在虚拟化软件。检索方式:WMIC,Win API和CMD。●VMware
C:\windows\System32\Drivers\Vmmouse.sys
C:\windows\System32\Drivers\vm3dgl.dll
C:\windows\System32\Drivers\vmdum.dll
C:\windows\System32\Drivers\vm3dver.dll
C:\windows\System32\Drivers\vmtray.dll
C:\windows\System32\Drivers\VMToolsHook.dll
C:\windows\System32\Drivers\vmmousever.dll
C:\windows\System32\Drivers\vmhgfs.dll
C:\windows\System32\Drivers\vmGuestLib.dll
C:\windows\System32\Drivers\VmGuestLibJava.dll
C:\windows\System32\Driversvmhgfs.dll●VirtualBox
C:\windows\System32\Drivers\VBoxMouse.sys
C:\windows\System32\Drivers\VBoxGuest.sys
C:\windows\System32\Drivers\VBoxSF.sys
C:\windows\System32\Drivers\VBoxVideo.sys
C:\windows\System32\vboxdisp.dll
C:\windows\System32\vboxhook.dll
C:\windows\System32\vboxmrxnp.dll
C:\windows\System32\vboxogl.dll
C:\windows\System32\vboxoglarrayspu.dll
C:\windows\System32\vboxoglcrutil.dll
C:\windows\System32\vboxoglerrorspu.dll
C:\windows\System32\vboxoglfeedbackspu.dll
C:\windows\System32\vboxoglpackspu.dll
C:\windows\System32\vboxoglpassthroughspu.dll
C:\windows\System32\vboxservice.exe
C:\windows\System32\vboxtray.exe
C:\windows\System32\VBoxControl.exe 检查运行的服务
是否正在运行以下进程,(WMIC->服务列表,sc.exe / query)●VMTools●Vmhgfs●VMMEMCTL●Vmmouse●Vmrawdsk●Vmusbmouse●Vmvss●Vmscsi●Vmxnet●vmx_svga●Vmware Tools●Vmware Physical Disk Helper Service

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...