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

技术编号:35119614 阅读:15 留言:0更新日期:2022-10-05 09:48
本发明专利技术实施例提供了一种模拟器检测方法、装置、电子设备及存储介质。其中,模拟器检测方法,包括:调用模拟器检测函数,其中,模拟器检测函数预置在底层本地库中;通过模拟器检测函数中预先配置的CPUID指令的第一执行参数执行CPUID指令,其中,CPUID指令的第一执行参数用于运行环境检测;基于CPUID指令的第一执行结果,判断运行环境是否为模拟器。本发明专利技术的实施例,通过调用模拟器检测函数直接执行底层的CPUID指令来进行运行环境的检测,避免了通过调用操作系统提供的接口的方式实现检测,可以提升模拟器检测的准确性和可靠性,此外,检测过程不需要与服务器进行通信,可以在本地进行检测,减少了通信量。减少了通信量。减少了通信量。

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


[0001]本专利技术涉及信息安全
,尤其涉及一种模拟器检测方法、装置、电子设备及存储介质。

技术介绍

[0002]移动点击欺诈攻击已经成为许多应用服务提供商的巨大威胁。例如手机模拟器常常被用来刷单,因此如何准确判断应用是否运行在模拟器上,正确识别模拟器,是反欺诈技术中的一个重要模块。现有的手机模拟器检测方法包括基于协议栈指纹的手机模拟器识别方法、基于特征文件检测的方法和基于计算预设时间内设备的信息数据的方差的方法等。存在以下技术问题:模拟器可模拟出真实手机的协议栈指纹,模拟器可模拟出真实手机的特征文件,模拟器可模拟出真实手机设备访问的信息,因此,导致上述方法检测结果可信度差甚至失效。另外,现有攻击手段可拦截手机应用层的操作系统接口调用,使用操作系统接口调用的检测方式很容易被绕过。

技术实现思路

[0003]针对现有技术中的问题,本专利技术实施例提供一种模拟器检测方法、装置、电子设备及存储介质。
[0004]具体地,本专利技术实施例提供了以下技术方案:
[0005]第一方面,本专利技术实施例提供了一种模拟器检测方法,包括:
[0006]调用模拟器检测函数,其中,所述模拟器检测函数预置在底层本地库中;
[0007]通过所述模拟器检测函数中预先配置的CPUID指令的第一执行参数执行CPUID指令,其中,所述CPUID指令的第一执行参数用于运行环境检测;
[0008]基于所述CPUID指令的第一执行结果,判断所述运行环境是否为模拟器。
[0009]进一步地,所述调用模拟器检测函数,包括:
[0010]加载所述底层本地库;
[0011]通过JNI接口从所述底层本地库中调用所述模拟器检测函数。
[0012]进一步地,所述基于所述CPUID指令的第一执行结果,判断所述运行环境是否为模拟器,包括:
[0013]从CPU寄存器中获取所述CPUID指令的第一执行结果,其中,通过所述模拟器检测函数执行CPUID指令后,所述第一执行结果存储在所述CPU寄存器中;
[0014]基于所述第一执行结果中预定标志位的值,判断所述运行环境是否为模拟器。
[0015]进一步地,所述基于所述第一执行结果中预定标志位的值,判断所述运行环境是否为模拟器,包括:
[0016]如果所述预定标志位的值为第一数值,则确定所述运行环境为模拟器,如果所述预定标志位的值为第二数值,则确定所述运行环境不为模拟器。
[0017]进一步地,在判断所述运行环境为模拟器之后,还包括:
[0018]通过所述模拟器检测函数中预先配置的CPUID指令的第二执行参数再次执行所述CPUID指令,并将第二执行结果存储在CPU寄存器中,其中,所述CPUID指令的第二执行参数用于模拟器类型检测;
[0019]从CPU寄存器中获取所述第二执行结果,并根据所述第二执行结果判断模拟器类型。
[0020]进一步地,在调用所述模拟器检测函数之前,包括:编写所述模拟器检测函数,并将所述模拟器检测函数置入所述底层本地库中,其中,所述底层本地库为本地动态链接库。
[0021]第二方面,本专利技术实施例还提供了一种模拟器检测装置,包括:
[0022]模拟器检测模块,用于调用模拟器检测函数,并通过所述模拟器检测函数中预先配置的CPUID指令的第一执行参数执行CPUID指令,以及基于所述CPUID指令的第一执行结果,判断运行环境是否为模拟器,其中,所述模拟器检测函数预置在底层本地库中,所述CPUID指令的第一执行参数用于运行环境检测。
[0023]第三方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的模拟器检测方法的步骤。
[0024]第四方面,本专利技术实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的模拟器检测方法的步骤。
[0025]第五方面,本专利技术实施例还提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的模拟器检测方法的步骤。
[0026]由上面技术方案可知,本专利技术实施例提供的模拟器检测方法、装置、电子设备及存储介质,通过调用模拟器检测函数直接执行底层的CPUID指令来进行运行环境的检测,避免了通过调用操作系统提供的接口的方式实现检测,从而可以提升模拟器检测的准确性和可靠性,此外,检测过程不需要与服务器进行通信,可以在本地进行检测,减少了通信量,并且,可以以模块形式植入应用程序中,进而可以通过应用程序直接调用,方便使用。
附图说明
[0027]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图1为本专利技术一实施例提供的模拟器检测方法的流程图;
[0029]图2为本专利技术一实施例提供的模拟器检测方法的详细流程图;
[0030]图3为本专利技术一实施例提供的模拟器检测装置的结构框图;
[0031]图4为本专利技术一实施例提供的电子设备的结构示意图。
具体实施方式
[0032]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例
中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0033]图1示出了本专利技术实施例提供的模拟器检测方法的流程图。其中,该模拟器检测方法可以通过终端设备中的应用程序进行执行,该应用程序中预置有模拟器检测模块,该应用程序运行时,可以调用模拟器检测模块,通过该模拟器检测模块实现模拟器检测方法,进而根据模拟器检测模块的返回的信息判断是否运行在模拟器的运行环境中,其中,终端设备为但不限于移动终端。如图1所示,并结合图2,本专利技术实施例提供的模拟器检测方法,包括如下步骤:
[0034]步骤101:调用模拟器检测函数,其中,模拟器检测函数是预置在底层本地库中的。
[0035]在本专利技术的一个实施例中,模拟器检测函数可以封装在Hypervisor(虚拟机监视器)类型判断模块中,该Hypervisor类型判断模块作为底层本地库供加载和调用。该示例中,底层本地库例如为本地动态链接库Dynamic Link Library或者Dynamic

link Library,缩写为DLL。
[0036]模拟器检测函数可以是预先编写完成,并置入到底层本地库中,即:模拟器检测函数由服务方编写完成,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模拟器检测方法,其特征在于,包括:调用模拟器检测函数,其中,所述模拟器检测函数预置在底层本地库中;通过所述模拟器检测函数中预先配置的CPUID指令的第一执行参数执行CPUID指令,其中,所述CPUID指令的第一执行参数用于运行环境检测;基于所述CPUID指令的第一执行结果,判断所述运行环境是否为模拟器。2.根据权利要求1所述的模拟器检测方法,其特征在于,所述调用模拟器检测函数,包括:加载所述底层本地库;通过JNI接口从所述底层本地库中调用所述模拟器检测函数。3.根据权利要求1或2所述的模拟器检测方法,其特征在于,所述基于所述CPUID指令的第一执行结果,判断所述运行环境是否为模拟器,包括:从CPU寄存器中获取所述CPUID指令的第一执行结果,其中,通过所述模拟器检测函数执行CPUID指令后,所述第一执行结果存储在所述CPU寄存器中;基于所述第一执行结果中预定标志位的值,判断所述运行环境是否为模拟器。4.根据权利要求3所述的模拟器检测方法,其特征在于,所述基于所述第一执行结果中预定标志位的值,判断所述运行环境是否为模拟器,包括:如果所述预定标志位的值为第一数值,则确定所述运行环境为模拟器,如果所述预定标志位的值为第二数值,则确定所述运行环境不为模拟器。5.根据权利要求1或2所述的模拟器检测方法,其特征在于,在判断所述运行环境为模拟器之后,还包括:通过所述模拟器检测函数中预先配置的CPUID...

【专利技术属性】
技术研发人员:林杰刘川意
申请(专利权)人:深圳云安宝科技有限公司
类型:发明
国别省市:

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

1