2016腾讯游戏安全竞赛第2题:PC方向VMware/VirtualPC/VirtualBox检测DLL开发

需积分: 0 1 下载量 99 浏览量 更新于2024-08-04 收藏 28KB DOCX 举报
2016年腾讯游戏安全技术竞赛的第二轮,面向PC方向的挑战题目要求参赛者编写名为"Tencent2016C.dll"的动态链接库(DLL),并导出一系列接口函数:CheckVMWareX, CheckVirtualPCX, 和 CheckVirtualBoxX,其中X为1到100的整数。这些函数的主要功能是对运行环境进行检测,例如判断是否在VMWare、VirtualPC或VirtualBox等虚拟化环境中运行。 CheckVMWareX系列函数用于检测是否在VMWare虚拟机中,如果在,返回TRUE,否则返回FALSE;CheckVirtualPCX系列函数则检测是否在VirtualPC中,同样,TRUE表示在,FALSE表示不在;CheckVirtualBoxX系列函数检测VirtualBox,逻辑相同。 所有导出函数需要遵循相同的原型:typedef BOOL(WINAPI*Type_CheckFunction)()。参与者需确保在真实计算机上运行Tencent2016C.exe时,这些函数返回0(正常情况),而在虚拟机环境下返回1,以符合有效方案的标准。同一系列函数的不同实现会被视为不同的检测方式。 竞赛规则强调了几点关键点: 1. **提交要求**:参赛者需要提交源代码、静态编译后的可执行文件(Tencent2016C.exe)以及简要的说明文档,没有文档的方案将被视为无效。 2. **答题限制**:允许使用任何API,但评判依据是参赛者提供的检测原理,而不是所使用的具体API。 3. **公平性**:禁止在比赛期间在公开论坛或群组讨论答题策略,以保持比赛的公正性。 4. **评分规则**:分数计算基于最低分为0,每种虚拟机类型的满分均为50分。每增加一种VMWare检测方法加5分,VirtualPC方法加10分,而VirtualBox方法的加分规则未明确给出,可能与VMWare和VirtualPC相同或不同。 参赛者需根据这些规则设计和实现创新的检测机制,既能准确识别虚拟机环境,又能避免简单重复,同时保证在真实机器和虚拟环境下的性能差异。这不仅测试了编程技能,还涉及对虚拟化技术的理解和安全检测技术的运用。