模拟器检测方法、装置、设备及介质制造方法及图纸

技术编号:27406843 阅读:19 留言:0更新日期:2021-02-21 14:20
本公开实施例提供了一种模拟器检测方法、装置、设备及介质,包括:确定终端设备的操作系统的系统架构;确定与操作系统的系统架构对应的中央处理器识别指令;通过执行中央处理器识别指令获取终端设备的处理器的相关参数;基于相关参数确定处理器是否为模拟器。在本公开实施例中,由于真正的处理器和模拟器对于一些参数的取值是不同的,因此可以基于获取到的参数来确定处理器是否为模拟器;进一步的,由于该相关参数是基于中央处理器识别指令获取到的,并不是依赖于相对容易被外部篡改的文件和属性特征,进而可以进一步的保证了准确区分模拟器和真实终端设备。器和真实终端设备。器和真实终端设备。

【技术实现步骤摘要】
模拟器检测方法、装置、设备及介质


[0001]本公开涉及计算机
,具体而言,本公开涉及一种模拟器检测方法、装置、设备及介质。

技术介绍

[0002]模拟器又可称为模拟程序,是指主要通过软件模拟硬件处理器的功能和指令系统的程序使计算机或者其他多媒体平台(掌上电脑,手机)能够运行其他平台上的软件。而模拟器与真实的软件存在不同的处理方式,因此,为了避免造成误判的问题,模拟器检测是一个非常重要的指标。然而在安卓系统版本处于5.0~6.0时期时,曾推出过部分与模拟器架构相同的手机,由于手机执行指令时需要翻译解析指令集,因此手机的文件与属性特征与模拟器颇为相似,此时若基于手机的文件与属性特征区分手机与模拟器时,会存在无法准确区分的问题。

技术实现思路

[0003]提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0004]第一方面,本公开实施例提供了一种模拟器检测方法,该方法包括:
[0005]确定终端设备的操作系统的系统架构;
[0006]确定与操作系统的系统架构对应的中央处理器识别指令(central processing unit Identity document,cpuid);
[0007]通过执行中央处理器识别指令获取终端设备的处理器的相关参数;
[0008]基于相关参数确定处理器是否为模拟器。
[0009]第二方面,本公开实施例提供了一种模拟器检测装置,该装置包括:
[0010]系统架构确定模块,用于确定终端设备的操作系统的系统架构;
[0011]相关参数获取模块,用于确定与操作系统的系统架构对应的中央处理器识别指令,以及通过执行操作系统的中央处理器识别指令获取终端设备的处理器的相关参数;
[0012]模拟器判断模块,用于基于相关参数确定处理器是否为模拟器。
[0013]第三方面,本公开提供了一种电子设备,该电子设备包括处理器和存储器;
[0014]存储器,用于存储计算机操作指令;
[0015]处理器,用于通过调用计算机操作指令,执行如本公开实施例的第一方面的任一实施例中所示的方法。
[0016]第四方面,本公开提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如本公开实施例的第第一方面的任一实施例中所示的方法。
[0017]本公开实施例提供的技术方案带来的有益效果是:
[0018]在本公开实施例中,可以确定终端设备的操作系统的系统架构,并确定与操作系统的系统架构对应的中央处理器识别指令,然后通过中央处理器识别指令获取处理器的相关参数,并基于相关参数确定处理器是否为模拟器,由于真正的处理器和模拟器对于一些参数的取值是不同的,因此可以基于获取到的参数来确定处理器是否为模拟器;进一步的,由于该相关参数是基于中央处理器识别指令获取到的,并不是依赖于相对容易被外部篡改的文件和属性特征,进而可以进一步的保证了准确区分模拟器和真实终端设备。
附图说明
[0019]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
[0020]图1为本公开的实施例中一种模拟器检测方法的流程示意图;
[0021]图2为本公开的实施例中一种相关信息的示意图;
[0022]图3为本公开的实施例中一种模拟器检测方法的完整流程示意图;
[0023]图4为本公开的实施例中一种模拟器检测装置的结构示意图;
[0024]图5为本公开的实施例中一种电子设备的结构示意图。
具体实施方式
[0025]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0026]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0027]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0028]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元一定为不同的装置、模块或单元,也并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0029]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0030]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0031]本公开的实施例提供了一种基于英特尔架构的模拟器的判别方法,如图1所示,该方法可以包括:
[0032]步骤S110,确定终端设备的操作系统的系统架构。
[0033]其中,系统架构指的是终端设备的操作系统所应用的处理器的具体架构,如该系统架构可以为英特尔架构。
[0034]在本公开实施例中,确定终端设备的操作系统的系统架构,包括:
[0035]获取操作系统的ELF(Executable and Linkable Format,可执行与可链接格式)文件的头部数据;
[0036]基于头部数据确定终端设备的系统架构。
[0037]在实际应用中,通常终端设备的操作系统的文件的头部数据可以表征了终端设备的操作系统的系统架构,基于此,在本公开实施例中,在确定终端设备的系统架构时,可以获取操作系统的ELF文件的头部数据,然后基于ELF文件的头部数据确定系统架构。例如,若ELF文件的头部数据的架构为英特尔架构,则可以确终端设备的系统架构即为英特尔架构。若ELF文件的头部数据的架构非英特尔架构,此时说明终端设备的系统架构不是英特尔架构,此时不会存在无法区分真实终端设备和模拟器的情况。
[0038]步骤S120,确定与操作系统的系统架构对应的中央处理器识别指令。
[0039]可选的,在确定操作系统的系统架构本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模拟器检测方法,其特征在于,包括:确定终端设备的操作系统的系统架构;确定与所述操作系统的系统架构对应的中央处理器识别指令;通过执行所述中央处理器识别指令获取所述终端设备的处理器的相关参数;基于所述相关参数确定所述处理器是否为模拟器。2.根据权利要求1所述的方法,其特征在于,所述确定终端设备的操作系统的系统架构,包括:获取所述操作系统的可执行与可链接格式文件的头部数据;基于所述头部数据确定终端设备的系统架构。3.根据权利要求2所述的方法,其特征在于,所述获取所述操作系统的可执行与可链接格式的头部数据,包括:通过所述操作系统的内存模块映射文件获取终端设备的链接器文件的全路径;解析所述链接器文件的全路径中的文件;根据文件格式类型从所述文件中确定可执行与可链接格式文件;按照文件数据格式解析所述可执行与可链接格式文件,得到所述头部数据。4.根据权利要求1所述的方法,其特征在于,所述通过执行所述中央处理器识别指令获取所述终端设备的处理器的相关参数,包括:通过运行资源文件中的执行程序执行所述中央处理器识别指令,以获取所述终端设备的处理器的相关参数。5.根据权利要求1所述的方法,其特征在于,所述相关参数包括以下至少一种:处理器型号、逻辑处理器的数量、性能计数器的值、以及虚拟机的后门值的值。6.根据权利要求5所述的方法,其特征在于,所述基于所述相关参数确定所...

【专利技术属性】
技术研发人员:李智梁玉林谢蒙
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1