能力值:
( LV2,RANK:10 )
|
-
-
2 楼
vmware下的系统有几个独有的函数 可以检测一下
是用来运行vmware的扩展的的
以前看过忘了 自己找找吧 好像在论坛精华里……
好像都是针对单个产品的 至于通用
不存在吧?
在驱动模式下你有思路?
顺便提个点子 检测虚拟硬件的名字 尤其是声卡网卡的……
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
用硬件信息检测是可以的,不过这个似乎每个VM都不一样的吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
就那么几个虚拟机 都装一下也没事 呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
用最傻瓜最笨的办法,检测有没有vmware那几个进程、服务、注册表、路径、文件名。
虽然可靠度不是最高,一般情况下绝对满足了。 要是其他虚拟机也用类似方法。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我以前的方法:假设硬盘大小小于30G或者分区数小于3,那么认为它是虚拟机
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
还有更好的办法吗?现在看来,好像只有枚举进程信息,去比对了,有通用一点的,楼下的朋友请继续。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
0041427E . B8 68584D56 MOV EAX,564D5868 ;magic number (VMXh)
00414283 . BB 00000000 MOV EBX,0 ;command parameter
00414288 . B9 0A000000 MOV ECX,0A ;command number
0041428D . BA 58560000 MOV EDX,5658 ;VMWare I/O port
00414292 . ED IN EAX,DX ;communicate with backdoor ; I/O command
00414293 . 81FB 68584D56 CMP EBX,564D5868
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
不好吧 如果是个老电脑怎么办? 在WINPE系统 (无盘)好像会误报吧
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
你牛 虚拟机用户态能看到vmware进程
不可能的 虚拟机里看不到 vmware那几个进程、服务、注册表、路径、文件名。
类似于你的电脑里能看到我的电脑 有什么进程、服务、注册表、路径、文件名。
|
能力值:
( LV5,RANK:60 )
|
-
-
11 楼
由于虚拟机的特殊性,因此我觉得 它必定会Hook一些系统常用的函数,比如:CreatFile、WriteFile等等系统级和文件处理有关的函数,你的程序可以查找这些函数与正常函数对比一下,即可大概判断到虚拟机,甚至病毒。
如我在VPC下得到的函数和正常系统中的函数对比:
VPC win2000
77F891B0 ntdll.ZwWriteFile - E9 F3C7D989 JMP 01D259A8
77F891B5 8D5424 04 LEA EDX, SS:[ESP+4]
77F891B9 CD 2E INT 2E
正常XP中:
7C92E9F3 ZwWriteFile B8 12010000 MOV EAX,112
7C92E9F8 BA 0003FE7F MOV EDX,7FFE0300
7C92E9FD FF12 CALL DWORD PTR DS:[EDX]
7C92E9FF C2 2400 RETN 24
由于我这里没有更多的系统来验证,所以不知道是否真正可行。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
[QUOTE=;]...[/QUOTE]
11楼的朋友,杀毒软件也会honkapi
怎么样区分是虚拟机还是杀毒软件呢?
|
能力值:
( LV5,RANK:60 )
|
-
-
13 楼
杀毒软件不会Hook与这几个创建、读写文件有关的API吧?我没有装杀毒软件,不是很清楚,不过各个虚拟机Hook的方式虽然可能不同,但是和病毒、杀软的Hook应该有明显区别,只是无法一一验证,权当猜测吧。
这个帖子中有些检测虚拟机的方法:
http://bbs.pediy.com/showthread.php?t=70470
希望有些帮助。
ps:
刚刚装好VMware下的2000系统,发现这几个关键函数没有被Hook,还要仔细分析一下该虚拟机的运作机制。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
虚拟机也不会HOOK CreatFile、WriteFile这些位置这么高的函数吧。。。
|
能力值:
( LV5,RANK:60 )
|
-
-
15 楼
的确,我想错了,应该是在读写文件之前就把所模拟系统需要的文件参数已经转换好了,而不是在内核函数上Hook。继续研究虚拟机。
|
能力值:
( LV7,RANK:100 )
|
-
-
16 楼
8楼,高手。VMware通杀
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
被引入歧途了
|
能力值:
( LV9,RANK:150 )
|
-
-
18 楼
另外还可以检查LDT、GDT、IDT如果这些系统的表所在内存位置过高的话,也能断定是不是在VM中。
这个方法的好处在于不管是哪种VM,基本上是通吃的,呵呵
比如Red pill和Scoopy Suite都是这个原理。
|
|
|