检测是否运行在虚拟机

检测运行环境是否为虚拟机

很多病毒,都是存在反调试,反虚拟机的情况,为了防止专业人员进行一个底层调试,导致你的免杀失效,所以我们来做一个简单的检测是否自己在虚拟机中

环境 vsstudio 2022

源代码已上传至github:call-xor/examine-vmware-and-vbox (github.com)(持续更新)

打开vsstudio

Ⅰ:反调试

1:函数IsDebuggerPresent()

根据windows api中查看,在debugapi.h文件中,用法是直接BOOL IsDebuggerPresent();当前有进程调试器上下文中运行,返回的是非零,如果没有,那么返回0,这个是本地调试,就是正常在自己的子进程下运行,主进程是调试器,那么就返回的值不为0,那么则可以检测出来,该软件正在被调试。

2:CheckRemoteDebuggerPresent()

这个函数,看上面那张图片,也就都知道了是是否被远程调试的函数,参数是句柄和指定的进程,函数城管,返回的是非0如果不是那么返回的是0

所以这两个是是否被调试的函数,那么我们可以按照这个去写,最后写出的成果,会是这样,当然输出的可以自己改变。

实例:

主题操作看github

给TA打赏
共{{data.count}}人
人已打赏
web安全网络安全

SQL注入漏洞

2023-1-6 20:44:57

技术教程

C/C++语言教程(环境搭建)

2023-1-24 21:20:25

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
搜索