一种模拟器的识别方法和系统技术方案

技术编号:15616025 阅读:72 留言:0更新日期:2017-06-14 03:21
本发明专利技术实施例提供了一种模拟器的识别方法和系统,该方法和系统应用于移动app,具体为获取该移动app的运行环境的CPU架构信息;然后根据CPU架构信息判断该运行环境的CPU架构是否为预先规定的预设架构;当CPU架构为所述预设架构时,进一步搜索该运行环境中是否存在预设特征码;如果运行运行中存在预设特征码,则判定运行环境中存在模拟器,反之,则判定不存在模拟器。从而运营商能够根据识别结果采取相应的措施,避免因模拟器的存在造成损失。

【技术实现步骤摘要】
一种模拟器的识别方法和系统
本专利技术涉及移动互联
,特别是涉及一种模拟器的识别方法和系统。
技术介绍
对于移动设备的移动app来说,如果想要其运行在PC上,需要利用模拟器为其提供运行环境。但是由于模拟器的存在,作弊者会利用模拟器对移动app进行作弊和修改,从而给运营商造成巨大的损失。例如:作弊者可以通过模拟器进行刷安装量,骗取推广量,造成公司损失;又如模拟器上支持许多作弊黑客工具,作弊者可以修改移动app的数据,造成移动app运行失败或者数据统计不正确;又如利用模拟器修改硬件参数信息,从而实现抢单刷票,往往会造成移动app分发优惠券或奖券时被作弊者轻易刷走,使得运营商蒙受损失;又如模拟器提供多开功能,作弊者利用多开的账号进行账号之间的互刷。因此许多运营商对于模拟器的检测有着迫切需求,无论是从业务绩效上,还是用产品质量保证上,都需要正确识别模拟器,避免因此模拟器的存在遭受损失。
技术实现思路
有鉴于此,本专利技术提供了一种模拟器的识别方法和系统,以正确识别移动app的运行环境是否存在模拟器,避免因模拟器给运营商造成损失。为了解决上述问题,本专利技术公开了一种模拟器的识别方法,应用于移动app,所述识别方法具体包括步骤:获取所述移动app的运行环境的CPU架构信息;根据所述CPU架构信息判断所述CPU架构是否为预先规定的预设架构;当所述CPU架构为所述预设架构时,搜索所述运行环境中是否存在预设特征码;如果所述运行运行中存在所述预设特征码,则判定所述运行环境中存在模拟器,反之,则判定不存在所述模拟器。可选的,所述预设架构为x86架构。可选的,所述搜索所述运行环境中是否存在预设特征码,包括:搜索所述移动app的运行内存中是否存在所述预设特征码。可选的,所述预设特征码为二进制翻译特征码。可选的,还包括步骤:将识别结果反馈至所述移动app的后台服务器。相应的,为了保证上述方法的实施,本专利技术还提供了一种模拟器的识别系统,应用于移动app,所述识别系统包括:架构信息获取模块,用于获取所述移动app的运行环境的CPU架构信息;架构判断模块,用于根据所述CPU架构信息判断所述CPU架构是否为预先规定的预设架构;特征码搜索模块,用于当所述CPU架构为所述预设架构时,搜索所述运行环境中是否存在预设特征码;模拟器判定模块,用于如果所述运行运行中存在所述预设特征码,则判定所述运行环境中存在模拟器,反之,则判定不存在所述模拟器。可选的,所述预设架构为x86架构。可选的,所述特征码搜索模块包括:内存搜索单元,用于搜索所述移动app的运行内存中是否存在所述预设特征码。可选的,所述预设特征码为二进制翻译特征码。可选的,还包括:识别结果上传模块,用于将识别结果反馈至所述移动app的后台服务器。从上述技术方案可以看出,本专利技术提供了一种模拟器的识别方法和系统,该方法和系统应用于移动app,具体为获取该移动app的运行环境的CPU架构信息;然后根据CPU架构信息判断该运行环境的CPU架构是否为预先规定的预设架构;当CPU架构为所述预设架构时,进一步搜索该运行环境中是否存在预设特征码;如果运行运行中存在预设特征码,则判定运行环境中存在模拟器,反之,则判定不存在模拟器。从而运营商能够根据识别结果采取相应的措施,避免因模拟器的存在造成损失。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种模拟器的识别方法实施例的步骤流程图;图2为本专利技术提供的另一种模拟器的识别方法实施例的步骤流程图;图3为本专利技术提供的一种模拟器的识别系统实施例的结构框图;图4为本专利技术提供的另一种模拟器的识别系统实施例的结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一图1为本专利技术提供的一种模拟器的识别方法实施例的步骤流程图。参照图1所示,本实施例提供的识别方法应用于移动设备的移动app,用于判断该移动app是否通过模拟器运行,具体来说为识别该移动app的运行环境是否存在上述模拟器,该识别方法具体包括如下步骤:S101:获取移动app的运行环境的CPU架构信息。移动app一般运行于移动设备上,觉得部分移动设备的CPU架构为ARM架构,即应用精简指令集的一种CPU架构,而对于PC来说,其CPU架构则绝大部分应该是x86架构,这里获取的CPU架构信息则反映该运行环境的CPU架构。S102:根据CPU架构信息判断CPU架构是否为预设架构。即在获得上述CPU架构信息后,根据该信息确定该运行环境的CPU架构。由于模拟器一般运行于采用x86架构的PC,因此这里的预设架构优选x86架构,通过判断运行环境的CPU架构是否为x86架构确定该运行环境是PC还是移动设备,如果是x86架构,则运行环境为PC,反之则应该为移动设备,不会有模拟器存在,这时就不需要进行进一步的判断。S103:搜索运行环境中是否存在预设特征码。如果根据上述判断确定该运行环境的CPU架构为x86架构,则进一步搜索运行环境中是否存在预设特征码,该预设特征码是模拟器运行于PC的一种主要特征。由于适用于移动设备的移动app不能直接运行于PC环境,因此需要对其进行翻译,即二进制翻译。二进制翻译(BinaryTranslation)是一种直接翻译可执行二进制程序的技术,能够把一种处理器上的二进制程序翻译到另外一种处理器上执行,它使得不同处理器之间的二进制程序可以很容易地相互移植。具体到本申请中是将移动设备上的app翻译成能够运行于PC的应用程序,在翻译过程中不可避免地产生相应的特征码,这里将其称为二进制翻译特征码,用于表征是否进行了二进制翻译,从而确定作弊者是否将移动app做了移植。具体的搜索过程为,利用相应的搜索函数在移动app的运行内存中逐步查找,以此搜索该运行内存中是否存在上述二进制翻译特征码。S104:根据是否搜索到该二进制翻译特征码确定是否存在模拟器。通过上述的搜索,如果能够搜索到相应的二进制翻译特征码,则判定该运行环境中存在模拟器;反之,如果没有搜索到该二进制特征码,则判定该运行环境不存在该模拟器。从上述技术方案可以看出,本实施例提供了一种模拟器的识别方法,该方法应用于移动app,具体为获取该移动app的运行环境的CPU架构信息;然后根据CPU架构信息判断该运行环境的CPU架构是否为预先规定的预设架构;当CPU架构为所述预设架构时,进一步搜索该运行环境中是否存在预设特征码;如果运行运行中存在预设特征码,则判定运行环境中存在模拟器,反之,则判定不存在模拟器。从而运营商能够根据识别结果采取相应的措施,避免因模拟器的存在造成损失。实施例二图2为本专利技术提供的另一种模拟器的识别方法实施例的步骤流程图。参照图2所示,本实施例提供的识别方法应用于移动设备的移动app,用于判本文档来自技高网...
一种模拟器的识别方法和系统

【技术保护点】
一种模拟器的识别方法,应用于移动app,其特征在于,所述识别方法具体包括步骤:获取所述移动app的运行环境的CPU架构信息;根据所述CPU架构信息判断所述CPU架构是否为预先规定的预设架构;当所述CPU架构为所述预设架构时,搜索所述运行环境中是否存在预设特征码;如果所述运行运行中存在所述预设特征码,则判定所述运行环境中存在模拟器,反之,则判定不存在所述模拟器。

【技术特征摘要】
1.一种模拟器的识别方法,应用于移动app,其特征在于,所述识别方法具体包括步骤:获取所述移动app的运行环境的CPU架构信息;根据所述CPU架构信息判断所述CPU架构是否为预先规定的预设架构;当所述CPU架构为所述预设架构时,搜索所述运行环境中是否存在预设特征码;如果所述运行运行中存在所述预设特征码,则判定所述运行环境中存在模拟器,反之,则判定不存在所述模拟器。2.如权利要求1所述的识别方法,其特征在于,所述预设架构为x86架构。3.如权利要求1所述的识别方法,其特征在于,所述搜索所述运行环境中是否存在预设特征码,包括:搜索所述移动app的运行内存中是否存在所述预设特征码。4.如权利要求3所述的识别方法,其特征在于,所述预设特征码为二进制翻译特征码。5.如权利要求1~4任一项所述的识别方法,其特征在于,还包括步骤:将识别结果反馈至所述移动app的后台服务器。6.一种模拟器的识别系统,应用于移动app...

【专利技术属性】
技术研发人员:张平
申请(专利权)人:同盾科技有限公司
类型:发明
国别省市:浙江,33

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

1