oracle判断程序是否在运行,如何判断自己运行的软件是不是在虚拟机中?

这个问题,可以往大里回答,也可以往小里回答。如果往大里回答的话,那就是设计到反虚拟化和反调试技术了,可以推荐论文《Towards an Understanding of Anti-virtualization and Anti-debugging Behavior in Modern Malware》,百度学术里有,你可以去参阅一下,我是没有能力写长篇大论的,很多技术也不太明白;如果往小里回答,我有几个小技巧可以让你基本判断一下的。

个人虚拟机现在的流行种类不外乎3种,一种是你提问图里的vmware,一种是Oracle VM VirtualBox,还有一种是windows自带的haper-v(前身是Microsoft Virtual PC)。这3种虚拟机,除了haper-v我没有测试过,其它2种我测试了一下,都可以根据进程来判断。

一、是否vmware虚拟机的判断办法

虚拟机的进程中有vmtoolsd.exe这个名字,我们可以写一个简单的vbs来判断一下,代码如下:

140612313_1_2018080706060944

执行一下:

140612313_2_20180807060609153

当然你用命令:tasklist |find 'vmtoolsd.exe',和我写的vbs是一个道理。

如果你觉得我的方法太单一了,肯定还会有细心的人说vmware没有装vmware tools你的办法就失效了,那么我再推荐你一个工具,地址在http://www.trapkit.de/tools/scoopyng/,这个工具有源码的,里边有5种办法判断你是否采用的vmware虚拟机,虽然是2008年的工具,但我在最新的vmare14版上依然有效。

140612313_3_20180807060609325

二、是否Oracle VM VirtualBox的判断办法

你依旧可以用我的vbs代码来判断,只需把vmtoolsd.exe换成VBoxTray.exe就可以了。这次我们用命令判断,tasklist |find 'VBoxTray.exe'。如果有,证实是虚拟机。

140612313_4_20180807060609481

三、其它

至于如何判断是否采用了haper-v,仔细分析一下进程应当也可以找到办法。不过如果你开启了haper-v,好像有个说法是整个windows系统都变成了一个虚拟机了。另外,还有很多大型企业采用的Citrix,我也没有做过测试。这个回答一是提问提太大了,二是涉及到的范围太广了,我只希望抛砖引玉一下,希望大家有更精彩的回答吧。

不过话又说回来,也许整个人类都不知道自己是否活在一个外星人的虚拟机中呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值