一段程序原則上是否能判斷它自己是在虛擬機中執行還是在真實機器上?

2014-10-26 20:43:14 +08:00
 fbxshit
如果能的話,在什麼樣的條件下或者說需要給它什麼樣的權限,它能夠準確判斷自己是不是在虛擬機中執行?
3856 次点击
所在节点    问与答
14 条回复
ipconfiger
2014-10-26 20:45:19 +08:00
需要红色小药丸
yfdyh000
2014-10-26 21:03:39 +08:00
Mac
2014-10-26 21:25:30 +08:00
淘宝是此中能手,支付宝插件里绝对有验证是否虚拟机的功能。
hahastudio
2014-10-26 21:29:21 +08:00
我只知道
记得当初碧之轨迹 PC 版引入了虚拟机检测,据说 Windows 上不能用 VMWare 虚拟的 Windows 里玩
但我依然可以在 Parallels 的 Windows 里玩= =
sogood
2014-10-26 21:37:49 +08:00
需要小陀螺一枚
icedx
2014-10-26 21:40:05 +08:00
@yfdyh000 GJ , 已学习
zhxhwyzh14
2014-10-26 22:24:03 +08:00
8.1和2012R2的任务管理器会直接显示(如果在虚拟机中运行的话)

其实我觉得收集常见的虚拟机配置参数和 虚拟机套件是可以判断的?
julyclyde
2014-10-26 22:37:45 +08:00
理论上不能,实际上可以
各种虚拟机都会主动露馅,有各种痕迹
hx1997
2014-10-26 22:43:47 +08:00
可以。如 1L 所说的 Red Pill 就是一个例子。

https://en.wikipedia.org/wiki/Blue_Pill_(software)#Red_Pill

另外还有虚拟机后门、检查虚拟机工具进程、检查硬件信息、执行一个特殊指令看是否返回预期结果等方法检测。
Mutoo
2014-10-26 22:56:09 +08:00
转陀螺
husinhu
2014-10-27 01:01:30 +08:00
@yfdyh000 +1 for 特权指令
lyragosa
2014-10-27 02:14:10 +08:00
针对具体的虚拟软件可以

泛用性的话是不能。
kaneg
2014-10-27 08:29:45 +08:00
一般来说都是通过系统信息来判断,例如主板vendor,Mac地址vendor之类
inreality
2014-10-27 21:25:49 +08:00
查看网络连接信息中是否包含关键字vmware。。嗯。。这能算个方法吗=-=

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/141656

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX