CN112100615A - 设备的识别方法及装置、存储介质、电子设备 - Google Patents
设备的识别方法及装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN112100615A CN112100615A CN202010953731.3A CN202010953731A CN112100615A CN 112100615 A CN112100615 A CN 112100615A CN 202010953731 A CN202010953731 A CN 202010953731A CN 112100615 A CN112100615 A CN 112100615A
- Authority
- CN
- China
- Prior art keywords
- state
- cache
- equipment
- target
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0248—Avoiding fraud
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0609—Buyer or seller confidence or verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Abstract
本发明公开了一种设备的识别方法及装置、存储介质、电子设备,属于计算机领域。其中,该方法包括:向目标设备发送数据编辑指令;监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态;根据所述Cache存储器状态识别所述目标设备的设备类型。通过本发明,解决了相关技术中无法准确识别真实设备的技术问题,能够准确检测出虚拟的刷量设备,可以通过设备类型过滤虚拟设备的无效流量,防止水军和无效流量,减少网络垃圾。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种设备的识别方法及装置、存储介质、电子设备。
背景技术
相关技术中,随着近几年移动端的飞速发展,移动终端智能设备普及速度很快,随之而来的还有出现了一些云手机、模拟器设备、这些并非是真实的手机而是通过一些技术手段虚拟出来的,比如运行在服务器上,可以通过模拟虚拟出多台类似与真实手机的设备,可以正常安装应用、正常访问网络等等,很多不法商家大量利用模拟器设备进行广告流量的刷量,优惠卷的抢购等等,所以目前需要一些技术手段来识别哪些是真实的移动端手机设备,哪些是一些模拟器设备现在几乎每个人都至少会有一台移动端设备。
相关技术中,无法准确的识别设备是否是模拟器,导致很多刷量设备,产生了大量的无效流量。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种设备的识别方法及装置、存储介质、电子设备。
根据本申请实施例的一个方面,提供了一种设备的识别方法,包括:向目标设备发送数据编辑指令;监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态;根据所述Cache存储器状态识别所述目标设备的设备类型。
进一步,监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态包括:在所述目标设备的Cache存储器的一级缓存区域读取所述数据编辑指令的指令缓存状态和数据缓存状态;判断所述指令缓存状态与所述数据缓存状态是否同步;若所述指令缓存状态与所述数据缓存状态同步,确定为X86缓存状态;若所述指令缓存状态与所述数据缓存状态不同步,确定为ARM缓存状态。
进一步,监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态包括:在所述目标设备的Cache存储器的一级缓存区域读取所述数据编辑指令的指令缓存状态;判断所述指令缓存状态是否更新;若所述指令缓存状态已更新,确定为X86缓存状态;若所述指令缓存状态未更新,确定为ARM缓存状态。
进一步,根据所述Cache存储器状态识别所述目标设备的设备类型包括:判断所述Cache存储器状态为X86缓存状态或ARM缓存状态;若所述Cache存储器状态为X86缓存状态,确定所述目标设备为模拟器设备;若所述Cache存储器状态为ARM缓存状态,确定所述目标设备为安卓设备。
进一步,在根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在根据所述Cache存储器状态识别所述目标设备的设备类型之后,所述方法还包括:在所述目标设备的系统目录路径下读取系统文件;判断所述系统文件是否为预定文件;若系统文件为预定文件,确定所述目标设备为模拟器设备;若所系统文件不为预定文件,确定所述目标设备为安卓设备。
进一步,在根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在根据所述Cache存储器状态识别所述目标设备的设备类型之后,所述方法还包括:触发所述目标设备的预定功能模块,其中,所述预定功能模块包括以下至少之一:WIFI模块、定位模块;判断所述预定功能模块是否响应预定操作;若所述预定功能模块响应预定操作,确定所述目标设备为安卓设备;若所述预定功能模块不响应预定操作,确定所述目标设备为模拟器设备。
进一步,在根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在根据所述Cache存储器状态识别所述目标设备的设备类型之后,所述方法还包括:读取所述目标设备的设备识别码;判断所述设备识别码是否为预定字符;若所述设备识别码为预定字符,确定所述目标设备为模拟器设备;若所述设备识别码不为预定字符,确定所述目标设备为安卓设备。
根据本申请实施例的另一个方面,还提供了一种设备的识别装置,包括:发送模块,用于向目标设备发送数据编辑指令;监测模块,用于监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态;识别模块,用于根据所述Cache存储器状态识别所述目标设备的设备类型。
进一步,所述监测模块包括:第一读取单元,用于在所述目标设备的Cache存储器的一级缓存区域读取所述数据编辑指令的指令缓存状态和数据缓存状态;第一判断单元,用于判断所述指令缓存状态与所述数据缓存状态是否同步;第一确定单元,用于若所述指令缓存状态与所述数据缓存状态同步,确定为X86缓存状态;若所述指令缓存状态与所述数据缓存状态不同步,确定为ARM缓存状态。
进一步,所述监测模块包括:第二读取单元,用于在所述目标设备的Cache存储器的一级缓存区域读取所述数据编辑指令的指令缓存状态;第二判断单元,用于判断所述指令缓存状态是否更新;第二确定单元,用于若所述指令缓存状态已更新,确定为X86缓存状态;若所述指令缓存状态未更新,确定为ARM缓存状态。
进一步,所述识别模块包括:判断单元,用于判断所述Cache存储器状态为X86缓存状态或ARM缓存状态;识别单元,用于若所述Cache存储器状态为X86缓存状态,确定所述目标设备为模拟器设备;若所述Cache存储器状态为ARM缓存状态,确定所述目标设备为安卓设备。
进一步,所述装置还包括:读取模块,用于在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之后,在所述目标设备的系统目录路径下读取系统文件;第一判断模块,用于判断所述系统文件是否为预定文件;第一确定模块,用于若系统文件为预定文件,确定所述目标设备为模拟器设备;若所系统文件不为预定文件,确定所述目标设备为安卓设备。
进一步,所述装置还包括:触发模块,用于在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之后,触发所述目标设备的预定功能模块,其中,所述预定功能模块包括以下至少之一:WIFI模块、定位模块;第二判断模块,用于判断所述预定功能模块是否响应预定操作;第二确定模块,用于若所述预定功能模块响应预定操作,确定所述目标设备为安卓设备;若所述预定功能模块不响应预定操作,确定所述目标设备为模拟器设备。
进一步,所述装置还包括:读取模块,用于在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之后,读取所述目标设备的设备识别码;第三判断模块,用于判断所述设备识别码是否为预定字符;第三确定模块,用于若所述设备识别码为预定字符,确定所述目标设备为模拟器设备;若所述设备识别码不为预定字符,确定所述目标设备为安卓设备。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本申请实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
通过本发明,向目标设备发送数据编辑指令,然后监测目标设备在执行数据编辑指令时的Cache存储器状态,最后根据Cache存储器状态识别目标设备的设备类型,通过监测目标设备在执行指令时的Cache存储器状态,可以识别出目标设备的Cache存储器属性,进而能够准确的判断目标设备的类型,判定为虚拟模拟器还是真实设备,解决了相关技术中无法准确识别真实设备的技术问题,能够准确检测出虚拟的刷量设备,可以通过设备类型过滤虚拟设备的无效流量,防止水军和无效流量,减少网络垃圾。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种服务器的硬件结构框图;
图2是根据本发明实施例的一种设备的识别方法的流程图;
图3是本发明实施例的Cache存储器与CPU的连接图;
图4是根据本发明实施例的一种设备的识别装置的结构框图;
图5是实施本发明实施例的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在服务器、计算机、或者类似的运算装置中执行。以运行在服务器上为例,图1是本发明实施例的一种服务器的硬件结构框图。如图1所示,服务器10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储服务器程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种设备的识别方法对应的服务器程序,处理器102通过运行存储在存储器104内的服务器程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种设备的识别方法,图2是根据本发明实施例的一种设备的识别方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,向目标设备发送数据编辑指令;
在本实施例中,数据编辑指令可以读写指令,修改指令等,如对一段可执行代码进行动态修改的读写地址指令等。
步骤S204,监测目标设备在执行数据编辑指令时的Cache存储器状态;
目标设备的CPU在执行数据编辑指令时,从Cache存储器调用数据编辑指令,以及数据编辑指令编辑的数据,包括中间数据、历史数据等,当上述指令和数据缓存在Cache存储器的相应区域之后,Cache存储器的指令缓存状态和数据缓存状态会更新,以指示指令或数据已经被缓存。
步骤S206,根据Cache存储器状态识别目标设备的设备类型。
在本实施例的设备类型基于CPU的构架进行分类,分为模拟器设备和移动端设备(如手机、平板等),移动端设备包括采用同一CPU构架(如ARM)的安卓设备和IOS设备,在本实施例中仅以安卓设备为例进行说明,IOS设备与安卓设备类似。
通过上述步骤,向目标设备发送数据编辑指令,然后监测目标设备在执行数据编辑指令时的Cache存储器状态,最后根据Cache存储器状态识别目标设备的设备类型,通过监测目标设备在执行指令时的Cache存储器状态,可以识别出目标设备的Cache存储器属性,进而能够准确的判断目标设备的类型,判定为虚拟模拟器还是真实设备,解决了相关技术中无法准确识别真实设备的技术问题,能够准确检测出虚拟的刷量设备,可以通过设备类型过滤虚拟设备的无效流量,防止水军和无效流量,减少网络垃圾。
在本实施例的一个实施方式中,监测目标设备在执行数据编辑指令时的Cache存储器状态包括:
S11,在目标设备的Cache存储器的一级缓存区域读取数据编辑指令的指令缓存状态和数据缓存状态;
在本实施例中,目标设备的Cache存储器(高速缓冲存储器),是位于CPU和主存储器DRAM(Dynamic Random Access Memory,动态随机存储器)之间的高速存储器,通常由SRAM(Static Random Access Memory,静态存储器)组成,图3是本发明实施例的Cache存储器与CPU的连接图。当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。
Cache又分为L1 Cache(一级缓存)和L2 Cache(二级缓存),L1 Cache主要是集成在CPU内部,而L2 Cache集成在主板上或是CPU上。Cache存储器在逻辑结构分为指令缓存区域和数据缓存区域,在不同的CPU构架上,指令缓存区域和数据缓存区域是平行或者是合并的。
指令缓存状态用于指示数据编辑指令在Cache存储器上中的存储情况,表征数据编辑指令是否存储在Cache存储器中,和数据缓存状态用于指示数据编辑指令编辑的目标数据在Cache存储器上中的存储情况,表征数据编辑指令编辑的目标数据是否存储在Cache存储器中。
S12,判断指令缓存状态与数据缓存状态是否同步;
在本实施例中,若数据编辑指令在Cache存储器中的指令缓存状态与数据缓存状态同时更新,则状态同步,否则,判定状态不同步。
S13,若指令缓存状态与数据缓存状态同步,确定为X86缓存状态;若指令缓存状态与数据缓存状态不同步,确定为ARM缓存状态。
在本实施例的另一个实施方式中,监测目标设备在执行数据编辑指令时的Cache存储器状态包括:
S21,在目标设备的Cache存储器的一级缓存区域读取数据编辑指令的指令缓存状态;
S22,判断指令缓存状态是否更新;
在本实施例中,若Cache存储器中存储了数据编辑指令,则指令缓存状态已经更新,否则,判定指令缓存状态未更新。
S23,若指令缓存状态已更新,确定为X86缓存状态;若指令缓存状态未更新,确定为ARM缓存状态。
在一个示例中,根据Cache存储器状态识别目标设备的设备类型包括:判断Cache存储器状态为X86缓存状态或ARM缓存状态;若Cache存储器状态为X86缓存状态,确定目标设备为模拟器设备;若Cache存储器状态为ARM缓存状态,确定目标设备为安卓设备。
本实施例的识别方案利用cache特性检测android模拟器,由于绝大部分手机都是基于ARM架构,而模拟器几乎全部是运行在PC的X86架构上。因此,可以利用ARM与X86的底层缓存行为差异来判断是否为真机(用户操作的移动设备),具体来说,ARM采用的是将指令存储与数据存储分开的哈佛架构,L1 Cache(一级缓存)被分成了平行的两块,即I-Cache(指令缓存)和D-Cache(数据缓存);而X86采用的是将指令存储和数据存储合并在一起的冯.诺伊曼结构,L1 Cache是连续的一块缓存。所以,可以通过读写地址指令等方式对一段可执行代码进行动态修改,那么CPU在执行指令的时候,X86架构上的指令缓存会被同步修改,而对ARM架构而言,这种数据读写操作修改的只是D-Cache中的内容,此时I-Cache中的指令并不会被更新。
在本实施例中,还包括多种识别设备的实施方式,可以在根据Cache存储器状态识别目标设备的设备类型之前,或在根据Cache存储器状态识别目标设备的设备类型之后执行,与上述基于Cache存储器状态进行识别的方案进行配合或者是组合使用,或者对其中一种实施方式的识别结果进行验证。下面进行对多种实施方式进行举例说明:
在一个实施方式中,方案包括:在目标设备的系统目录路径下读取系统文件;判断系统文件是否为预定文件;若系统文件为预定文件,确定目标设备为模拟器设备;若所系统文件不为预定文件,确定目标设备为安卓设备。
在本实施方式中,利用模拟器的特有文件来检测设备是否是模拟器,如检查设备的系统目录下是否存在:“/system/lib/libc_malloc_debug_qemu.so”文件、“/sys/qemu_trace”文件、“/system/bin/qemu-props”等预定文件,如果存在,则识别为模拟器设备,如果不存在,或者存在表征手机厂商标识(如xiaomi,huawei等)的文件,则识别为安卓设备。
在另一个实施方式中,方案包括:触发目标设备的预定功能模块,其中,预定功能模块包括以下至少之一:WIFI模块、定位模块;判断预定功能模块是否响应预定操作;若预定功能模块响应预定操作,确定目标设备为安卓设备;若预定功能模块不响应预定操作,确定目标设备为模拟器设备。
在本实施方式中,基于目标设备的无线射频相关的功能模块,如利用Wi-Fi来检测是否是模拟器,当正常手机接入WIFI的时候,周边往往有复数的WIFI信号,而模拟器由于不具备检索周边WIFI的能力,其WIFI列表通常为空或者只有一个WIFI;通过触发WIFI模块,查看目标设备的WIFI列表,若响应得到包括多个WIFI地址的WIFI列表,则可认为目标设备存在WIFI模块,具备检索周边WIFI的能力,是安卓设备,否则,识别为模拟器设备。
在定位模块(如GPS模块,北斗导航模块等)的示例中,利用GPS模块来检测是否是模拟器,模拟器没有真实的GPS模块,通常无法获取到地理位置信息,触发目标设备的位置获取操作,若响应得到地理位置信息,则可认为目标设备存在定位模块,具备定位能力,是安卓设备,否则,识别为模拟器设备。
在另一个实施方式中,方案包括:读取目标设备的设备识别码;判断设备识别码是否为预定字符;若设备识别码为预定字符,确定目标设备为模拟器设备;若设备识别码不为预定字符,确定目标设备为安卓设备。
可选的,设备识别码可以是国际移动设备识别码(International MobileEquipment Identity,IMEI),手机号等唯一识别标识,不同类型的设备预置了不同字段的设备识别码,或者是只能使用特定字段的设备识别码。
在一个示例中,通过判断IEMI是否全为0000000000格式、判断手机号码是否为特殊的模拟器值(如:15555215556),出现此字符号码说明设备是模拟器;在另一个示例中,判断IMEI是否命中预设的特殊值名单(如310260000000000),该特殊值名单中的值类似于黑名单,是已知的模拟器设备的IMEI,如果命中,则识别为模拟器设备,否则识别为安卓设备。
基于本实施例的方案,解决了某些灰产组织对APP的流量刷量,可以有效的更好的推广APP到真实有效的设备上,可以防止产生大量的无效流量,也可以应用在移动端反作弊领域,可以有效的识别出设备终端的真实属性判断是真机器还是模拟器,提高了真实有效设备的统计准确度,同时准确统计APP的有效激活量。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种设备的识别装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的一种设备的识别装置的结构框图,如图4所示,该装置包括:发送模块40,监测模块42,识别模块44,其中,
发送模块40,用于向目标设备发送数据编辑指令;
监测模块42,用于监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态;
识别模块44,用于根据所述Cache存储器状态识别所述目标设备的设备类型。
可选的,所述监测模块包括:第一读取单元,用于在所述目标设备的Cache存储器的一级缓存区域读取所述数据编辑指令的指令缓存状态和数据缓存状态;第一判断单元,用于判断所述指令缓存状态与所述数据缓存状态是否同步;第一确定单元,用于若所述指令缓存状态与所述数据缓存状态同步,确定为X86缓存状态;若所述指令缓存状态与所述数据缓存状态不同步,确定为ARM缓存状态。
进一步,所述监测模块包括:第二读取单元,用于在所述目标设备的Cache存储器的一级缓存区域读取所述数据编辑指令的指令缓存状态;第二判断单元,用于判断所述指令缓存状态是否更新;第二确定单元,用于若所述指令缓存状态已更新,确定为X86缓存状态;若所述指令缓存状态未更新,确定为ARM缓存状态。
进一步,所述识别模块包括:判断单元,用于判断所述Cache存储器状态为X86缓存状态或ARM缓存状态;识别单元,用于若所述Cache存储器状态为X86缓存状态,确定所述目标设备为模拟器设备;若所述Cache存储器状态为ARM缓存状态,确定所述目标设备为安卓设备。
进一步,所述装置还包括:读取模块,用于在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之后,在所述目标设备的系统目录路径下读取系统文件;第一判断模块,用于判断所述系统文件是否为预定文件;第一确定模块,用于若系统文件为预定文件,确定所述目标设备为模拟器设备;若所系统文件不为预定文件,确定所述目标设备为安卓设备。
进一步,所述装置还包括:触发模块,用于在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之后,触发所述目标设备的预定功能模块,其中,所述预定功能模块包括以下至少之一:WIFI模块、定位模块;第二判断模块,用于判断所述预定功能模块是否响应预定操作;第二确定模块,用于若所述预定功能模块响应预定操作,确定所述目标设备为安卓设备;若所述预定功能模块不响应预定操作,确定所述目标设备为模拟器设备。
进一步,所述装置还包括:读取模块,用于在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在所述识别模块根据所述Cache存储器状态识别所述目标设备的设备类型之后,读取所述目标设备的设备识别码;第三判断模块,用于判断所述设备识别码是否为预定字符;第三确定模块,用于若所述设备识别码为预定字符,确定所述目标设备为模拟器设备;若所述设备识别码不为预定字符,确定所述目标设备为安卓设备。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,向目标设备发送数据编辑指令;
S2,监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态;
S3,根据所述Cache存储器状态识别所述目标设备的设备类型。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,向目标设备发送数据编辑指令;
S2,监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态;
S3,根据所述Cache存储器状态识别所述目标设备的设备类型。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
图5是实施本发明实施例的一种电子设备的结构框图。如图5所示,包括处理器41和用于存储数据的存储器42,通过通信总线44连接,还包括与通信总线44连接的通信接口43,与其他部件或外部设备进行适配连接。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种设备的识别方法,其特征在于,包括:
向目标设备发送数据编辑指令;
监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态;
根据所述Cache存储器状态识别所述目标设备的设备类型。
2.根据权利要求1所述的方法,其特征在于,监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态包括:
在所述目标设备的Cache存储器的一级缓存区域读取所述数据编辑指令的指令缓存状态和数据缓存状态;
判断所述指令缓存状态与所述数据缓存状态是否同步;
若所述指令缓存状态与所述数据缓存状态同步,确定为X86缓存状态;若所述指令缓存状态与所述数据缓存状态不同步,确定为ARM缓存状态。
3.根据权利要求1所述的方法,其特征在于,监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态包括:
在所述目标设备的Cache存储器的一级缓存区域读取所述数据编辑指令的指令缓存状态;
判断所述指令缓存状态是否更新;
若所述指令缓存状态已更新,确定为X86缓存状态;若所述指令缓存状态未更新,确定为ARM缓存状态。
4.根据权利要求1所述的方法,其特征在于,根据所述Cache存储器状态识别所述目标设备的设备类型包括:
判断所述Cache存储器状态为X86缓存状态或ARM缓存状态;
若所述Cache存储器状态为X86缓存状态,确定所述目标设备为模拟器设备;若所述Cache存储器状态为ARM缓存状态,确定所述目标设备为安卓设备。
5.根据权利要求1所述的方法,其特征在于,在根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在根据所述Cache存储器状态识别所述目标设备的设备类型之后,所述方法还包括:
在所述目标设备的系统目录路径下读取系统文件;
判断所述系统文件是否为预定文件;
若系统文件为预定文件,确定所述目标设备为模拟器设备;若所系统文件不为预定文件,确定所述目标设备为安卓设备。
6.根据权利要求1所述的方法,其特征在于,在根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在根据所述Cache存储器状态识别所述目标设备的设备类型之后,所述方法还包括:
触发所述目标设备的预定功能模块,其中,所述预定功能模块包括以下至少之一:WIFI模块、定位模块;
判断所述预定功能模块是否响应预定操作;
若所述预定功能模块响应预定操作,确定所述目标设备为安卓设备;若所述预定功能模块不响应预定操作,确定所述目标设备为模拟器设备。
7.根据权利要求1所述的方法,其特征在于,在根据所述Cache存储器状态识别所述目标设备的设备类型之前,或在根据所述Cache存储器状态识别所述目标设备的设备类型之后,所述方法还包括:
读取所述目标设备的设备识别码;
判断所述设备识别码是否为预定字符;
若所述设备识别码为预定字符,确定所述目标设备为模拟器设备;若所述设备识别码不为预定字符,确定所述目标设备为安卓设备。
8.一种设备的识别装置,其特征在于,包括:
发送模块,用于向目标设备发送数据编辑指令;
监测模块,用于监测所述目标设备在执行所述数据编辑指令时的Cache存储器状态;
识别模块,用于根据所述Cache存储器状态识别所述目标设备的设备类型。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法步骤。
10.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1至7中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010953731.3A CN112100615A (zh) | 2020-09-11 | 2020-09-11 | 设备的识别方法及装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010953731.3A CN112100615A (zh) | 2020-09-11 | 2020-09-11 | 设备的识别方法及装置、存储介质、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112100615A true CN112100615A (zh) | 2020-12-18 |
Family
ID=73751367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010953731.3A Pending CN112100615A (zh) | 2020-09-11 | 2020-09-11 | 设备的识别方法及装置、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100615A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201872A (zh) * | 2016-07-05 | 2016-12-07 | 北京鼎源科技有限公司 | 一种Android系统的运行环境检测方法 |
CN107729750A (zh) * | 2017-09-30 | 2018-02-23 | 北京梆梆安全科技有限公司 | 结合配置信息和硬件特性的安卓模拟器检测方法及装置 |
CN107908952A (zh) * | 2017-10-25 | 2018-04-13 | 广州优视网络科技有限公司 | 识别真机和模拟器的方法、装置和终端 |
CN110619210A (zh) * | 2019-08-27 | 2019-12-27 | 苏宁云计算有限公司 | 一种模拟器检测方法及系统 |
CN110990202A (zh) * | 2019-10-21 | 2020-04-10 | 厦门美柚股份有限公司 | 识别Android模拟器的方法及相关设备 |
CN111367752A (zh) * | 2018-12-26 | 2020-07-03 | 卓望数码技术(深圳)有限公司 | 识别Android真机和模拟器的方法、装置及存储介质 |
-
2020
- 2020-09-11 CN CN202010953731.3A patent/CN112100615A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201872A (zh) * | 2016-07-05 | 2016-12-07 | 北京鼎源科技有限公司 | 一种Android系统的运行环境检测方法 |
CN107729750A (zh) * | 2017-09-30 | 2018-02-23 | 北京梆梆安全科技有限公司 | 结合配置信息和硬件特性的安卓模拟器检测方法及装置 |
CN107908952A (zh) * | 2017-10-25 | 2018-04-13 | 广州优视网络科技有限公司 | 识别真机和模拟器的方法、装置和终端 |
CN111367752A (zh) * | 2018-12-26 | 2020-07-03 | 卓望数码技术(深圳)有限公司 | 识别Android真机和模拟器的方法、装置及存储介质 |
CN110619210A (zh) * | 2019-08-27 | 2019-12-27 | 苏宁云计算有限公司 | 一种模拟器检测方法及系统 |
CN110990202A (zh) * | 2019-10-21 | 2020-04-10 | 厦门美柚股份有限公司 | 识别Android模拟器的方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117250B (zh) | 一种模拟器识别方法、识别设备及计算机可读介质 | |
CN110046101B (zh) | 页面自动化测试方法、装置及计算机存储介质 | |
CN107807852B (zh) | 应用程序性能控制方法、设备及计算机可读存储介质 | |
CN110830986A (zh) | 一种物联网卡异常行为检测方法、装置、设备及存储介质 | |
CN106959927B (zh) | 获取虚拟机中的逻辑分区的位置信息的方法及装置 | |
CN111258680B (zh) | 资源加载方法和装置、存储介质及电子装置 | |
CN105022694A (zh) | 用于移动终端测试的测试用例生成方法及系统 | |
CN109683997B (zh) | 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 | |
CN106021054A (zh) | 一种对bmc升降级稳定性进行测试的方法及装置 | |
CN112099800A (zh) | 代码数据的处理方法、装置和服务器 | |
CN108984339B (zh) | 数据恢复方法及相关产品 | |
CN113849272A (zh) | 在虚拟机中添加gpu资源的方法及装置 | |
CN103176901A (zh) | 一种嵌入式软件测试监控方法及系统 | |
CN108737487B (zh) | 数据同步方法和装置、存储介质及电子装置 | |
CN107608923B (zh) | 测试的处理方法及相关产品 | |
CN112100615A (zh) | 设备的识别方法及装置、存储介质、电子设备 | |
CN114610577A (zh) | 一种目标资源的锁定方法、装置、设备和介质 | |
CN112416734A (zh) | 测试的方法、装置以及存储介质 | |
US9813927B2 (en) | Mobile terminal flow identification method and apparatus | |
CN112631949B (zh) | 一种调试方法、装置、计算机设备及存储介质 | |
CN113076233B (zh) | 一种io性能检测方法、装置、设备及存储介质 | |
CN114697440B (zh) | 网络管理方法及移动终端 | |
CN114218011A (zh) | 测试仿真方法、装置、终端设备及存储介质 | |
CN113535580A (zh) | 一种cts测试方法、装置及测试设备 | |
CN113110870A (zh) | 一种资源打包管理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |