一种数据处理方法和相关装置与流程

文档序号:24617803发布日期:2021-04-09 20:21阅读:86来源:国知局
一种数据处理方法和相关装置与流程

本申请涉及数据处理技术领域,尤其涉及一种数据处理方法和相关装置。



背景技术:

安卓系统中移动应用的交互过程存在严重的隐私泄露问题,如恶意移动应用通过窃取短信、银行卡账户密码等用户隐私数据而获得非法利益,非恶意移动应用提供某项服务如地图导航需要获取用户的位置等隐私数据等。近些年开发人员倾向于将安卓应用的核心功能如加密功能与t9搜索功能放在原生层以提供应用的执行效率,因此如何通过检测和监控数据流在涉及原生层交互的移动应用,以阻止隐私数据泄露的问题成了较为重要的问题。



技术实现要素:

为了解决现有技术存在的上述技术问题,本申请提供了一种一种数据处理方法和相关装置,解决了涉及原生层的隐私数据泄露问题,提高了系统的安全性。

一方面,本申请实施例提供了一种数据处理方法,所述方法包括:

获取目标移动应用对应的配置文件;所述配置文件包括日志、so库和dex文件;

根据所述配置文件,获取所述目标移动应用在安卓系统中运行的加载信息;所述加载信息包括应用层信息、原生层信息以及应用层和原生层间的交互信息;

基于所述记载信息,通过过滤筛确定所述目标移动应用的污点泄漏点和污点传播路径。

在一种可能的实现方式中,所述根据所述配置文件,获取所述目标移动应用在安卓系统中运行的加载信息包括:

根据所述dex文件,获取所述目标移动应用在所述安卓系统中运行的应用层信息;

根据获取方法标识和获取静态方法标识,获取所述目标移动应用在所述安卓系统中运行的原生层信息;

根据反射调用函数,获取所述目标移动应用在所述安卓系统中运行的应用层和原生层间的交互信息。

在一种可能的实现方式中,所述方法还包括:

根据所述加载信息,获取以三元组格式表示的原方法、目标方法以及java本地接口jni交互方法。

在一种可能的实现方式中,所述根据所述加载信息,获取以三元组格式表示的源方法、目标方法以及java本地接口交互方法包括:

根据所述加载信息,通过调用堆栈获取所述原方法和所述jni交互方法;所述调用堆栈与所述目标移动应用的主线程对应;

根据获取方法标识和获取静态方法标识,获取所述目标方法。

在一种可能的实现方式中,所述基于所述记载信息,通过过滤筛确定所述目标移动应用的污点泄漏点和污点传播路径包括:

通过具有第一粒度的过滤筛对所述加载信息进行过滤,确定所述目标移动应用的污点泄漏点和污点传播路径;

通过具有第二粒度的过滤筛对所述加载信息进行过滤,确定所述目标移动应用的污点泄漏点和污点传播路径;所述第一粒度小于所述第二粒度。

在一种可能的实现方式中,所述根据所述配置文件,获取所述目标移动应用在安卓系统中运行的加载信息包括:

对所述so库中的第一文件进行反汇编;

根据反汇编得到的代码,通过检测函数标注目标方法的原生函数,生成跟踪文件;

根据所述跟踪文件,将函数地址转化为函数名,生成函数调用图;

根据所述函数调用图,获取所述目标方法对应的原方法和jni交互方法。

在一种可能的实现方式中,所述根据所述配置文件,获取所述目标移动应用在安卓系统中运行的加载信息包括:

通过进程分析工具确定所述so库中的第二文件所包括的段信息与内存间的关联关系;

根据所述关联关系,确定具有执行权限的段信息;

根据所述具有执行权限的段信息对应的内存基地址,确定对应的数据中心桥接数据;

根据所述数据中心桥接数据,通过字符串搜索工具确定原方法、目标方法和jni交互方法。

另一方面,本申请实施例提供了一种数据处理装置,所述装置包括获取单元和确定单元:

所述获取单元,用于获取目标移动应用对应的配置文件;所述配置文件包括日志、so库和dex文件;

所述获取单元,还用于根据所述配置文件,获取所述目标移动应用在安卓系统中运行的加载信息;所述加载信息包括应用层信息、原生层信息以及应用层和原生层间的交互信息;

所述确定单元,用于基于所述记载信息,通过过滤筛确定所述目标移动应用的污点泄漏点和污点传播路径。

另一方面,本申请实施例提供了一种数据处理设备,所述设备包括处理器以及存储器:

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行上述方面所述的方法。

另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。

由上述技术方案可以看出,获取目标移动应用对应的配置文件;所述配置文件包括日志、so库和dex文件,然后根据所述配置文件,获取所述目标移动应用在安卓系统中运行的加载信息,所述加载信息包括应用层信息、原生层信息以及应用层和原生层间的交互信息,继而基于所述记载信息,通过过滤筛确定所述目标移动应用的污点泄漏点和污点传播路径。该污点传播方法考虑了应用层和原生层的隐私数据流交互,通过增加原生层数据流和控制流的方式,实现了移动应用在安卓系统中运行时,对于隐私数据在原生层、应用层以及原生层和应用层之间交互的检测和监控,解决了涉及原生层的隐私数据泄露问题,提高了系统的安全性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为一种java应用层动态加载so库的程序实例示意图;

图2为图1中so库的部分c语言源代码示意图;

图3为一种java应用层中核心的隐私泄露代码示意图;

图4为本申请实施例提供的一种数据处理方法的流程示意图;

图5为本申请实施例提供的一种sjt信息库提取示意图;

图6为本申请实施例提供的一种处理可逆向so文件的流程示意图;

图7为本申请实施例提供的一种数据处理装置的流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在相关技术中,flowdroid工具通过ifds算法对污点传播进行检测。虽然flowdroid工具在一定程度上保障了移动应用隐私泄露路径的检测覆盖率,但是,针对数据流在java应用层与原生层之间频繁交互的额移动应用,flowdroid却无法对其进行有效的分析。下面结合图1-3,通过一个程序实例进行说明。

图1表示在java应用层动态加载了libhello-jni.so库,第一行代码获取到该设备的国际移动设备识别码(internationalmobileequipmentidentity,imei),并传递到了原生层的jnitransmit函数(第四行)中;代码段三是位于原生层的c语言编写的jnitransmit函数:第二行代码通过反射机制获取到java应用层的testclass类,第三行代码获取到该类静态与非静态函数的身份标识号码(identity,id),并在第六行与第七行分别调用了该类中的非静态函数sendfaker1与静态函数sendfaker2。在调用上述函数的过程中,将图2中获取到的设备imei号和封装的字符串“11111”作为参数传递到了上述函数。

图3是testclass类的核心代码:非静态函数sendfaker1和静态函数sendfaker2的功能是将具有内容的短信消息发送到具有移动号码的移动设备。与传递的参数集成,调用者传递java本地调用接口(javanativeinterface,jni)交互机制和动态加载和反射技术将具有设备的imei号的文本消息发送到具有移动电话号“11111”的设备。

上文展示了典型的隐私泄漏问题,其中设备的imei号码作为文本消息短信发送到指定的电话。隐私泄漏也是一个重点问题。然而,目前关于静态污点追踪的主要焦点问题是它无法有效地分析安卓动态代码加载机制,也无法对基于jni机制的原生层程序与应用层的java应用程序的函数调用进行很好的数据流分析。并且动态分析的核心框架taintdroid工具也无法分析动态加载的第三方so库。例如,如果此示例中的设备imei号用作污染源,则发送文本消息的应用程序接口(applicationprogramminginterface,api)调用为泄漏点,静态污点分析无法构建从源到泄漏点的有效路径,因此无法检测到此隐私泄漏问题。原因是静态污点分析不能确定jni交互机制中隐私数据在java应用层与原生层中的流向。另外由于动态分析架构如taintdroid是dvm的一个扩展,可以看到流经dalvik虚拟机(dalvikvirtualmachine,dvm)的所有数据,然而so库并不会产生dex文件,因此taintdroid无法有效分析原生层的数据流向。

针对以上问题,本申请从监测原生层的角度提供了一种数据处理方法和相关装置,对应用于安卓系统的移动应用安全性进行隐私数据追踪,检测移动应用潜在的隐私泄露与安全漏洞,提高移动应用在安卓系统中运行的安全性与健壮性。

其中,原生层包含了两部分内容:一部分是c与c++编写的原生库,安卓系统通过java框架api接口向移动应用程序开发者提供了部分原生库的功能;另一部分是安卓运行过程中,对于运行安卓5.0以上版本的设备,每个移动应用都允许运行在单独的系统进程内,该进程运行着独立androidruntime(art)实例程序。

隐私数据追踪是把规定的隐私数据如短信信息和来自诸如网络不可信通道等其他未知来源的数据标记为“污染源”,凡是与被标记的数据进行逻辑和算术运算新生成的数据也会被标记,从而形成污点传播路径。

本申请实施例提供的数据处理方法可以应用于具有数据处理能力的数据处理设备,如终端设备、服务器。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。下面以服务器作为数据处理设备对本申请实施例进行介绍。

参见图4,图4为本申请实施例提供的一种数据处理方法的流程示意图。如图4所示,该数据处理方法包括以下步骤:

s401:获取目标移动应用对应的配置文件。

为了实现对于安卓系统原生层的检测和监控,在安装和运行目标移动应用之前,需要对系统进行配置。配置过程包括修改系统堆栈处理区、修改日志输出、标注源代码特殊类与变量以及获取辅助信息。

修改系统堆栈处理区即是修改存储在安卓方法调用堆栈中的元素。安卓方法调用堆栈存储了系统中发生的方法调用使用序列。源代码中的方法调用堆栈仅存储类名和方法名,并不存储方法对应的参数。因此通过修改系统堆栈处理区,使得方法调用堆栈还可以存储方法的相关参数,即可以通过方法调用堆栈获得有关方法的全部信息。

上述方法包括原方法、目标方法和jni交互方法。其中,原方法是指调用原生层或java应用层的方法,用sf表示,如图1中的jnitransmit方法。原方法所在的c/c++文件为原文件,用sw表示。目标方法是指原生层函数调用java应用层的方法,用tf表示,如图3中的java应用层方法。目标方法对应的类为目标类,用tc表示。jni交互方法是指java应用层与原生层交互借助api的方法,用jh表示,包括获取方法标识(getmethodid)和获取静态方法标识(getstaticmethodid)方法,用jh表示。

为了监控安卓应用的动态代码加载行为,需要修改动态代码加载的日志输出。首先,对安卓系统源码中dexfile.java文件的打开dex文件(opendexfile)方法进行修改,使得系统动态加载相关文件时,通过日志可以查看被加载的.dex文件的本地路径,从而根据本地路径获取并存储被加载的.dex文件。其次,对loadlibrary方法进行修改并过滤,使得系统加载外部so文件时,记录该so文件的名称和地址,以便检测过程中获取移动应用对应的so文件。

此外,通过增加getmethodid和getstaticmethodid等方法调用的日志输出,存储目标类的类名、参数值与方法名。为了通过反射调用方法监视安卓系统中移动应用的反射调用行为,通过增加反射方法即修改方法类(method.java)中的反射(invoke)方法,使得在调用方法调用发生时生成输出目标类的类名,方法名和目标方法的参数。

标注源码特殊类是指标注用于加载外部so文件的运行类,如mlibpaths等运行类,以便在加载外部so文件时,so文件的名称和地址被记录为原生层安全保护模型中的原生层保护模块(soprotector)的输入。标注源码变量是指标注用于存储运行时的相关线程与进行信息的系统变量,如pnewentry等系统变量,以便存储运行时的相关线程与进程信息。

上述对源代码的更改是为了得到数据流图所需信息,日志除了增加上述输出外,还需要增加日志身份标识符(即日志id符)、操作编号、用户身份标识(useridentity,uid)编号、调用堆栈信息。其中日志id符用于标识哪些日志是需要被原生层安全保护模型中的原生层检测模块(sodetection-x)解析;uid编号能够用于识别被测移动应用生成哪些日志;操作编号用于标识被测移动应用行为类型。

基于上述配置过程,在安装和运行移动应用后就可以获取目标移动应用(即被测/被监视移动应用)对应的配置文件。具体的,根据记录存储目标移动应用对应的uid编号,寻找目标移动应用相关的日志信息;通过被修改的opendexfile方法存储被加载的.dex文件;通过被标注的挂钩(hook)类中的so文件路径方法(mlibpaths)获取被动态加载的so库,包括so文件的名称、执行路径以及上下文环境。

s402:根据所述配置文件,获取所述目标移动应用在安卓系统中运行的加载信息。

基于上述s401的配置文件,可以进一步获取目标移动应用在安卓系统中运行的加载信息,该加载信息包括应用层信息、原生层信息以及应用层和原生层间的交互信息。

具体的,java应用层信息通过解析.dex文件得到,其中.dex文件通过动态加载机制获取,每一个移动应用都对应一个.dex文件,在检测过程中.dex文件被移动到指定文件夹用于解析。原生层信息通过分析hook类中的getmethodid、getstaticmethodid等方法获取,java应用层和原生层间的交互信息通过分析hook类中的反射调用函数invoke等获取。

基于上述提取的加载信息获取原方法sf,jni交互方法jh和目标方法tf,并以三元组的格式进行表示和存储,用于存储以三元组格式进行标识的信息库称为sjt信息库。具体的,分别用cx,fx和px表示方法的类名、方法名和参数名。其中x分别取s,r和t来表示原方法,反射方法和目标方法,反射调用方法与jni交互方法具有关联关系。例如,ps表示原方法的参数名。根据对安卓源代码的修改,可以直接解析出目标移动应用对应的日志中的ct、ft、pt(即目标方法所在的类名、方法名和参数名)。

如图5所示,sf和jh在加载过程中被压入方法堆栈中,因此,在实际获取方法过程中,sf和jh信息可以通过调用方法堆栈获取,该调用堆栈和移动应用的主线程对应,其中线程的相关信息是通过hook类的pnewentry等系统变量记录并存储的。由于系统堆栈记录的信息具有时序先后性,因此从当前调用的方法开始,从堆栈的顶部依次对应方法调用的其他方法,即交互调用的反射信息可以通过堆栈的信息获取,堆栈顶部的方法通常是反射方法jh的相关信息,堆栈中的第二个位置是反射调用的原方法sf的信息。

s403:基于所述记载信息,通过过滤筛确定所述目标移动应用的污点泄漏点和污点传播路径。

在对隐私数据进行追踪的过程中,可以基于上述s402获取的加载信息,通过过滤筛对目标移动应用在安卓系统中运行时存在的污点泄漏点和污点传播路径进行检测和监控。

为了提高对于检测准确度,在一种可能的实现方式中,可以利用具有不同过滤粒度的过滤筛对家在信息进行检测。具体的,利用具有第一粒度的过滤筛(简记为过滤筛1)对非泄露点进行过滤。泄露点包括网络、短信、日志、文件。若检测出调用了系统敏感api,则将原生层直接标记为泄漏点。并且利用具有第二粒度的过滤筛(简记为过滤筛2)继续对日志内容进行,得到tf的信息。

由于getmethodid、getstaticmethodid等方法是被上一层函数调用的,因此为了捕捉函数调用并进行显示,本申请针对so文件进行分析,获取tf对应的sf和jh。

具体的,对于so库中可以逆向的so文件(记为第一文件)进行反汇编,得到arm汇编代码或者进一步得到c代码。然后,利用编译器解析工具如gnc中的gcc标注tf所在的原生函数,并生成对应的跟踪文件如trace.txt。继而,利用地址转化工具如addr2line将函数地址转化为函数名后,并用图本生成工具如dot生成对应的函数调用图,该函数调用图可以进一步转化为原生层的数据流图。该数据流图(即图6所示的方法调用图)可以补充在利用flowdroid工具建立的调用关系图中,或者通过分析其调用关系找到tf所匹配的sf和jh,具体可参见图6所示流程。

对于so库中不可逆向或逆向难度较大的so文件(记为第二文件),可以借助交互式反汇编器(interactivedisassembler,ida)如idapro触发对应的原生层函数,通过任意进程分析工具观察到进程表中该so文件所包括的不同段信息与存储的关联关系,或者说段信息与内存的映射关系,从中找到具有执行权限的代码段信息,并基于其内存基地址后获取对应的数据中心桥接(datacenterbridging,dcb)数据,从而可以利用字符串搜索工具找到tf,tf所在的dcb头的字符串中即是该tf所匹配的sf和jh。

需要说明的是,上述检测过程可以基于人工智能技术中的机器学习方法实现,即通过原生层安全保护模型,对包含动态加载第三方so库的移动应用进行监控,并建立对应的原型系统,通过分析java应用层和原生层之间的数据流来阻止层与层数据交互的隐私泄露问题。该原型系统包含一个实时监控器,用于检测植入so库中的恶意功能。

上述实施例提供的数据处理方法,获取目标移动应用对应的配置文件;所述配置文件包括日志、so库和dex文件,然后根据所述配置文件,获取所述目标移动应用在安卓系统中运行的加载信息,所述加载信息包括应用层信息、原生层信息以及应用层和原生层间的交互信息,继而基于所述记载信息,通过过滤筛确定所述目标移动应用的污点泄漏点和污点传播路径。该污点传播方法综合考虑了应用层和原生层的隐私数据流交互,通过增加原生层数据流和控制流的方式,实现了移动应用在安卓系统中运行时,对于隐私数据在原生层、应用层以及原生层和应用层之间交互的检测和监控,解决了涉及原生层的隐私数据泄露问题,提高了系统的安全性。

与大多数静态分析工具如flowdroid和androidleaks相比,上述数据处理方法能够检测到更多的隐私泄露源点,汇点和隐私传播路径。此外,还可以以较低的时间开销有效地检查和阻止超过82%的动态加载恶意第三方so文件的应用程序。

为了更好的体现上述实施例提供的数据处理方法所具有的有益效果,通过实验进行说明。具体的,从豌豆荚商店(涵盖其预分类的15个类别)抓取3000个移动应用,从virusshare的原生层恶意软件库(区间为2013年到2017年的恶意软件)总共抓取400个移动应用。对于每个类别,分别下载排名前200的应用程序。排除这些数据库一些的无法运行的应用与爬虫连接过程中发生的一些错误,总共收集3400个移动应用作为数据集,用于对上述实施例提供的原生层安全保护模型进行训练、预测和评估。

原生层安全保护模型可以是一系列的脚本,通过有序的运行每个部分,统计检测到的污点泄漏点和污点传播路径数量。在第一阶段,应用文件被反向工程回到源代码。在第二阶段,搜索每个应用文件夹以查找本机库或包含本机代码(如汇编语言或c语言)的文件。在第三阶段,使用反汇编工具idapro对每个文件进行反汇编。通过使用idapro,每个文件都被反汇编为汇编语言,并将生成包含汇编代码的gdl文件。在第四阶段,相关特征如系统调用将被记录为图像如png格式的图片或文本文件的输出格式作为输入,基于机器学习算法实现对于污点泄漏点和污点传播路径的检测。

在检测过程中,可以将二进制文件显示为灰度图像,并使用图像中的纹理特征来对付混淆技术,以提高其有效性,同时结合静态动态污点分析方法,更有效地捕获数据流在java应用层和原生层的流动情况。其中,静态污点数据分析方法是指通过控制流与数据流分析、词法与语法分析和其他技术手段进行静态代码审计,并且无需运行代码的方式来验证移动应用程序是否符合安全性、规范性、可维护性等性质约束。动态污点追踪分析是基于检测非法操作和标记动态污点,可以更为准确的提取代码哈希签名,能够有效检测恶意攻击和解决入侵检测系统(intrusiondetectionsystems,ips)与入侵防御系统(intrusionpreventionsystem,ids)的相关问题。

根据实验样本中被正确检测、错误检测和错误检类别的数量(记为tp、fp和fn)的个数值(2972,375,53),可以按照如下公式计算soprotector的精确率(precision)和召回率(recall):

基于上述,本申请实施例提供的原生层安全保护模型能够精确识别大多数的应用程序,精度为88.79%,召回率为98.25%,具有较大的优势;此外,每个移动应用的处理阶段需要2秒,处理速度较快,且其中每个应用的预处理时间也包括在处理阶段内。

针对上述实施例提供的数据处理方法,本申请实施例还提供了一种数据处理装置。如图7所示,该数据处理装置700包括获取单元701和确定单元702:

所述获取单元701,用于获取目标移动应用对应的配置文件;所述配置文件包括日志、so库和dex文件;

所述获取单元701,还用于根据所述配置文件,获取所述目标移动应用在安卓系统中运行的加载信息;所述加载信息包括应用层信息、原生层信息以及应用层和原生层间的交互信息;

所述确定单元702,用于基于所述记载信息,通过过滤筛确定所述目标移动应用的污点泄漏点和污点传播路径。

在一种可能的实现方式中,所述获取单元701,用于:

根据所述dex文件,获取所述目标移动应用在所述安卓系统中运行的应用层信息;

根据获取方法标识和获取静态方法标识,获取所述目标移动应用在所述安卓系统中运行的原生层信息;

根据反射调用函数,获取所述目标移动应用在所述安卓系统中运行的应用层和原生层间的交互信息。

在一种可能的实现方式中,所述获取单元701,还用于根据所述加载信息,获取以三元组格式表示的原方法、目标方法以及java本地接口jni交互方法。

在一种可能的实现方式中,所述获取单元701,用于:

根据所述加载信息,通过调用堆栈获取所述原方法和所述jni交互方法;所述调用堆栈与所述目标移动应用的主线程对应;

根据获取方法标识和获取静态方法标识,获取所述目标方法。

在一种可能的实现方式中,所述确定单元702,用于:

通过具有第一粒度的过滤筛对所述加载信息进行过滤,确定所述目标移动应用的污点泄漏点和污点传播路径;

通过具有第二粒度的过滤筛对所述加载信息进行过滤,确定所述目标移动应用的污点泄漏点和污点传播路径;所述第一粒度小于所述第二粒度。

在一种可能的实现方式中,所述获取单元701,用于:

对所述so库中的第一文件进行反汇编;

根据反汇编得到的代码,通过检测函数标注目标方法的原生函数,生成跟踪文件;

根据所述跟踪文件,将函数地址转化为函数名,生成函数调用图;

根据所述函数调用图,获取所述目标方法对应的原方法和jni交互方法。

在一种可能的实现方式中,所述获取单元701,用于:

通过进程分析工具确定所述so库中的第二文件所包括的段信息与内存间的关联关系;

根据所述关联关系,确定具有执行权限的段信息;

根据所述具有执行权限的段信息对应的内存基地址,确定对应的数据中心桥接数据;

根据所述数据中心桥接数据,通过字符串搜索工具确定原方法、目标方法和jni交互方法。

上述实施例提供的数据处理装置,获取目标移动应用对应的配置文件;所述配置文件包括日志、so库和dex文件,然后根据所述配置文件,获取所述目标移动应用在安卓系统中运行的加载信息,所述加载信息包括应用层信息、原生层信息以及应用层和原生层间的交互信息,继而基于所述记载信息,通过过滤筛确定所述目标移动应用的污点泄漏点和污点传播路径。该污点传播方法综合考虑了应用层和原生层的隐私数据流交互,通过增加原生层数据流和控制流的方式,实现了移动应用在安卓系统中运行时,对于隐私数据在原生层、应用层以及原生层和应用层之间交互的检测和监控,解决了涉及原生层的隐私数据泄露问题,提高了系统的安全性。

本申请实施例还提供了一种数据处理设备,所述设备包括处理器以及存储器:

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行上述实施例提供的数据处理方法。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述实施例提供的数据处理方法。

本领域普通技术人员可以理解,实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-onlymemory,缩写:rom)、ram、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1