判断程序是否运行在虚拟机里

判断程序是否在虚拟机中运行 判断系统是否为虚拟机环境,可以根据很多固定的硬件标识(磁盘的型号、主板型号、BIOS型号等)或者虚拟机中进程(一般在虚拟机中安装系统后,虚拟机会自动安装一些辅助性的程序,例如vmtool.exe)。 详细信息可以参考下面的表格。 判断是否为虚拟机的参数很多,一般情况下,我们可以参考磁盘的型号是否包含vmware,vbox,virtual,qemu关键字来确定是否为虚 阅读详情
//判读程序是否运行在虚拟机里
#include <windows.h>
#include <stdio.h>
// IsInsideVPC's exception filter
DWORD __forceinline IsInsideVPC_exceptionFilter(LPEXCEPTION_POINTERS ep)
{
PCONTEXT ctx = ep->ContextRecord;
ctx->Ebx = -1; // Not running VPC
ctx->Eip += 4; // skip past the "call VPC" opcodes
return EXCEPTION_CONTINUE_EXECUTION;
// we can safely resume execution since we skipped faulty instruction
}

// High level language friendly version of IsInsideVPC()
bool IsInsideVPC()
{
bool rc = false;
__try
{
_asm push ebx
_asm mov ebx, 0 // It will stay ZERO if VPC is running
_asm mov eax, 1 // VPC function number

// call VPC
_asm __emit 0Fh
_asm __emit 3Fh
_asm __emit 07h
_asm __emit 0Bh
_asm test ebx, ebx
_asm setz [rc]
_asm pop ebx
}
// The except block shouldn't get triggered if VPC is running!!
__except(IsInsideVPC_exceptionFilter(GetExceptionInformation()))
{
}

return rc;
}

bool IsInsideVMWare()
{
bool rc = true;

__try
{
__asm
{
push edx
push ecx
push ebx



mov eax, 'VMXh'
mov ebx, 0 // any value but not the MAGIC value
mov ecx, 10 // get VMWare version
mov edx, 'VX' // port number



in eax, dx // read port
// on return EAX returns the VERSION
cmp ebx, 'VMXh' // is it a reply from VMWare?
setz [rc] // set return value



pop ebx
pop ecx
pop edx
}
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
rc = false;
}

return rc;
}

int main()
{
if (IsInsideVPC()) printf("I am in a VPC/n");
else if (IsInsideVMWare()) printf("I am in a VMWare/n");
else printf("I am in a real world/n");
return 0;
}

 
检测你的程序是否运行在虚拟机(VMware) //------------------------------------------------------------------构建一个函数,使用了汇编语言啊,嘿嘿!// -------------------开始-----------------------------------------function IsVMwarePresent(): LongBool; stdcall; b 阅读详情

相关推荐

VC++检测VM、VPC虚拟机代码的检测例子

VC++检测VM、VPC虚拟机代码的检测例子

如何判断当前主机是物理机还是虚拟机?

如何判断当前主机是物理机还是虚拟机? Windows: 在CMD里输入:Systeminfo | findstr /i "System Model" 如果System Model:后面含有Virutal就是虚拟机,其他都是物理机 或者用powershell命令:get-wmiobject win32_computersystem | fl model Linux: 在bash里输入:dmidecode -s system-product-name 或者lshw -class system 或者dmesg

每一天都有新的希望 4万+

识别是否在虚拟机中运行的源码

这段代码可以识别是不是在虚拟机中运行,支持vm和vbox虚拟机。

C++ 判断程序是否在VMware上运行

通过后门检测方法判断

zcy5157912的博客 1107

RAG-Anything 实战:构建企业级多模态知识图谱问答系统

本文详细介绍了如何利用RAG-Anything构建企业级多模态知识图谱问答系统,解决跨模态文档处理的痛点。通过架构设计解析、部署实战指南和典型业务场景解决方案,帮助企业实现高效的知识管理和智能检索,提升决策效率。

weixin_29089057的博客 385

目标检测——布匹缺陷检测数据集

结构瑕疵指的是布料本身的缺陷,包括嵌结、抽纱、错纱、断纱、预缩等问题,这些问题通常是在布料生产过程中出现的。而质量瑕疵则是指布料在使用过程中出现的问题,如污渍、断裂、鼓囊、针眼等,这些问题可能由生产过程中的结构瑕疵导致,也可能是在运输、存放和使用过程中引起的。布匹瑕疵如缺纬、断纬、粗纬、松纬、缺经、断经、粗经、筘痕、污点、破损等,若未得到及时有效的检测,这些瑕疵产品可能会流向市场,导致消费者的不满和退货,严重影响企业的声誉和品牌形象。织疵包括缺经、缺纬、跳花、弓纱、错纱、厚薄段、油污渍等;

zzjlhlcd的博客 612

VS C++ 查找虚拟机

方式2:找文件路径  -- C:\Program Files\VMware\VMware Tools。方式1:搜索服务   -- 包含WMware Tools / WMware 物理磁盘助手服务。方式3:寻找进程   -- vmtoolsd.exe。

路奇的博客 803

将AD域服务从windows server 2008 R2 迁移到windows server 2019

添加一台windows 2019 的服务器并加入现有林的域中,并将角色升级为域控制器。然后迁移FSMO角色,使其成为PDC,然后降级旧DC,并提升域和林的功能级别。最后还要说下,Server 2008 R2我们还可以删除角色并退出当前域,这里就不做操作了。2)右键 mingling.com(我的域为mingling.com)--提升域级别功能。勾选 将域控制器添加到现有域,使用域管理员将DC2加入到现有的AD域。1)打开服务器管理器---工具---AD域和信任关系。2)运行域安装服务向导,选择下一步。

lionxam的博客 3659

VC++检测VM、VPC虚拟机代码

VC++检测VM、VPC虚拟机代码,添加后只需要调用IsVirtualMachine即可判断是否在虚拟机运行! AntiVM.h #ifndef __DETECT_VM__02222005__ #define __DETECT_VM__02222005__ bool IsVirtualMachine(); bool IsInsideVPC(); bool IsInsideVMWa

Koma的主页 8243

重塑计算的五层蛋糕:解读黄仁勋CES2026演讲背后的AI新秩序与物理世界

2026年CES演讲揭示AI新纪元:从语言模型到物理智能 NVIDIA CEO黄仁勋在2026年CES演讲中描绘了计算产业的根本性变革。核心突破包括: 计算范式转移:从指令执行转向意图理解,智能体系统崛起 物理AI突破:发布Cosmos世界模型,通过合成数据训练AI理解物理定律 全新VeraRubin计算平台:6芯片协同设计,解决摩尔定律放缓与AI需求增长的矛盾 自动驾驶革命:推出具备推理能力的Alpamayo模型,实现L4级自动驾驶 演讲标志着AI正从数字世界迈向物理世界,NVIDIA通过全栈布局,正在重

老孙 | Ethan Sun 的博客:AI 智能体与 AI 原生软件的工程实践 1273

详解Pytorch求导

本文主要详解Pytorch求导,希望能对学习Pytorch的同学有所帮助。 文章目录 1. pytorch求导问题 2. pytorch三大类求导代码示例 2.1 标量求导 2.2 向量求导&矩阵求导

weixin_43178406的博客 3072

检测程序是否处在虚拟机中

【代码】检测程序是否处在虚拟机中。

qq_45612462的博客 729

华为OD机试2025C卷 - CPU调度策略 (C++ & Python & JAVA & JS & GO)

华为OD机试 2025C卷 CPU调度策略,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1295

判断程序是否运行在虚拟机里 收藏

//判读程序是否运行在虚拟机里#include #include // IsInsideVPCs exception filterDWORD __forceinline IsInsideVPC_exceptionFilter(LPEXCEPTION_POINTERS ep){PCONTEXT ctx = ep->ContextRecord;

大浪淘沙的专栏 1852

Vivado ILA抓DDR信号(各种IO信号:差分、ISERDES、IOBUFDS等)

Vivado ILA抓DDR信号(各种IO信号:差分、ISERDES、IOBUFDS等)

千歌叹尽执夏的博客 1096

【实战】基于 Inner-IoU 的 YOLOv8 优化指南:显著提升检测精度

Inner-IoU 凭借辅助边框的创新设计,成功解决了传统 IoU 损失在小目标、遮挡场景下的收敛难题,为 YOLOv8 注入了更强的定位能力。从原理剖析到代码集成,本教程已为你铺就了一条“精度提升”的实战路径。现在,不妨亲自上手尝试,让你的目标检测模型在各类数据集上都能交出一份“精度优异”的答卷——相信我,当你看到检测框精准贴合目标的那一刻,你会明白这份尝试的价值。

m0_64661770的博客 107

如何判断当前程序是否运行在虚拟机内

如何判断当前程序是否运行在虚拟机内 最近写程序,碰到要检测程序是否运行在虚拟机内的问题。在网上找了一下,找到下面两个函数,可以检测程序是否运行在virtual machine中,支持VMWARE 和virtual pc检测. 主要的原理,都是利用virtual machine往往支持一些真实PC不支持的指令. // IsInsideVPC's exception filter DWORD __f...

weixin_30793643的博客 320

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

检测程序是否在虚拟机运行的两种方法

最近在项目中遇到一个虚拟机检测的问题,需要检测当前程序是否在虚拟机中运行。 关于虚拟机的检测方法有很多,网上也能搜索到很多相关的 相信很多程序狗很可能也会遇到相同的问题

hnlwt的专栏 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

测试是否在虚拟机里运行

http://www.codeproject.com/Articles/9823/Detect-if-your-program-is-running-inside-a-Virtual

xuplus的专栏 1980

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

判断程序是否运行在虚拟机中的代码

首先我们要了解一下什么是虚拟机, 对虚拟机的通用解释是通过软件模拟的具有完整硬件系统功能的, 运行在一个完全隔离环境中的完整计算机系统. 通过虚拟机软件, 你可以在一台物理计算机上模拟出一台或多台虚拟的计算机, 这些虚拟机就像真正的计算机那样进行工作, 例如你可以安装操作系统, 安装应用程序, 访问网络资源等等. 对于你而言, 它只是运行在你物理计算机上的一个应用程序, 但是对于在虚拟机中运行

liujiayu2的专栏 5782

检查程序是否运行在VMWare虚拟机里

{     This function can be used to determine whether your program is     running from within VMWare.    For more information please refer to the article at:   http://www.codeproject.com/syste

wangyunyong0905的专栏 1239

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

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

weixin_34867001的博客 330

虚拟机运行c++程序

虚拟机入门--如何创建并运行一个简单的c++程序

littleblackgirl的博客 6542

winform判断Windows 是否运行在 macOS 系统的虚拟机

使用 Win32_ComputerSystem 检查制造商和模型名称是否包含 "Apple" 或 "Mac"。某些虚拟机管理程序(如 VMware 或 Parallels)可能隐藏或自定义这些信息,导致检查失败。如果虚拟机运行在 macOS 主机上,虚拟机可能会暴露 Apple 的信息,比如制造商或 BIOS。可以结合网卡信息、硬件特性进一步判断(如虚拟化软件特定标识:Parallels、VMware 等)。使用 Win32_BIOS 检查 BIOS 信息是否与 Apple 相关。

nbspzs的专栏 589
上一篇: 模拟实现msn登陆过程(MSNP15)
下一篇: 探测U盘或移动硬盘
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值