一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

动态库调用方法、装置、计算机设备及存储介质与流程

2021-10-24 05:42:00 来源:中国专利 TAG:
1.本技术涉及互联网
技术领域
:,尤其涉及一种动态库调用方法、装置、计算机设备及存储介质。
背景技术
::2.随着软件改变一切的来临,软件越来越强大,功能越来越多,越来越方便。在软件不断给人们带来便捷的同时,随之而来的是盗版也越来越猖狂。盗版者往往会对动态库进行反汇编,逆向得出动态库的源代码。从而获取软件发布方的关键技术,核心算法,或者篡改代码,绕过关键的身份认证,非法获取数据等等,导致数据的安全性大大降低。技术实现要素:3.本技术实施例提供一种动态库调用方法、装置、计算机设备及存储介质,可以提高数据的安全性。4.本技术实施例一方面提供了一种动态库调用方法,可包括:5.响应目标应用程序的启动指令,将目标动态库加载至运行所述目标应用程序的内存中;6.执行所述目标动态库中的目标函数,获取目标数据地址;7.从加密平台获取所述目标数据地址对应的关键函数字段;8.将所述关键函数字段填充进所述内存中的所述目标数据地址处,更新所述目标动态库;9.执行更新后的所述目标动态库。10.在一种可行的实施方式中,在所述将目标动态库加载至运行所述目标应用程序的内存中之前,还包括:11.提取所述目标应用程序对应的初始动态库中的所述关键函数字段,将所述关键函数字段存储至所述加密平台;12.将所述初始动态库中的关键函数字段进行反破译处理,生成所述目标动态库。13.在一种可行的实施方式中,所述提取目标应用程序对应的初始动态库中的关键函数字段,包括:14.获取目标应用程序的初始动态库,对所述初始动态库进行解析,获取所述关键函数字段对应的所述目标数据地址和长度;15.根据关键函数字段对应的目标数据地址和长度,提取所述关键函数字段。16.在一种可行的实施方式中,所述将所述初始动态库中的关键函数字段进行反破译处理,生成所述目标动态库,包括:17.根据预设字符和所述关键函数字段的长度,生成反破译字段;18.采用所述反破译字段替换所述初始动态库中的关键函数字段,生成所述目标动态库。19.在一种可行的实施方式中,所述将所述初始动态库中的关键函数字段进行反破译处理,生成所述目标动态库,包括:20.将所述初始动态库中的关键函数字段进行清零,生成所述目标动态库。21.在一种可行的实施方式中,所述从加密平台获取所述目标数据地址对应的关键函数字段,包括:22.向加密平台发送携带验证信息的获取指令,以使所述加密平台对所述验证信息进行验证生成验证结果;所述获取指令携带目标数据地址;23.当验证结果为验证通过时,根据所述目标数据地址,从所述加密平台获取所述目标数据地址对应的关键函数字段。24.在一种可行的实施方式中,所述加密平台为加密云平台或加密芯片中的一种。25.本技术实施例一方面提供了一种动态库调用装置,可包括:26.加载模块,用于响应目标应用程序的启动指令,将目标动态库加载至运行所述目标应用程序的内存中;27.函数执行模块,用于执行所述目标动态库中的目标函数,获取目标数据地址;28.获取模块,用于从加密平台获取所述目标数据地址对应的关键函数字段;29.更新模块,用于将所述关键函数字段填充进所述内存中的所述目标数据地址处,更新所述目标动态库;30.动态库执行模块,用于执行更新后的所述目标动态库。31.在一种可行的实施方式中,所述动态库调用装置还包括:32.关键字段加密模块,用于提取所述目标应用程序对应的初始动态库中的所述关键函数字段,将所述关键函数字段存储至所述加密平台;33.反破译处理模块,用于将所述初始动态库中的关键函数字段进行反破译处理,生成所述目标动态库。34.在一种可行的实施方式中,所述关键字段加密模块具体用于:35.获取目标应用程序的初始动态库,对所述初始动态库进行解析,获取所述关键函数字段对应的所述目标数据地址和长度;36.根据关键函数字段对应的目标数据地址和长度,提取所述关键函数字段。37.在一种可行的实施方式中,所述反破译处理模块具体用于:38.根据预设字符和所述关键函数字段的长度,生成反破译字段;39.采用所述反破译字段替换所述初始动态库中的关键函数字段,生成所述目标动态库。40.在一种可行的实施方式中,所述反破译处理模块具体用于:41.将所述初始动态库中的关键函数字段进行清零,生成所述目标动态库。42.在一种可行的实施方式中,所述获取模块具体用于:43.向加密平台发送携带验证信息的获取指令,以使所述加密平台对所述验证信息进行验证生成验证结果;所述获取指令携带目标数据地址;44.当验证结果为验证通过时,根据所述目标数据地址,从所述加密平台获取所述目标数据地址对应的关键函数字段。45.在一种可行的实施方式中,所述加密平台为加密云平台或加密芯片中的一种。46.本技术实施例一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行上述的方法步骤。47.本技术实施例一方面提供了一种计算机设备,包括:处理器、存储器以及网络接口;所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码执行上述的方法步骤。48.本技术实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的方法步骤。49.在本技术实施例中,目标动态库的关键函数字段被提取出来且单独保存在加密平台,在调用目标动态库时,需要通过执行目标函数将目标动态库加载到内存中,然后找到关键函数字段对应的数据地址,再通过该地址从加密平台处获取到关键函数字段并填充到内存中来,从而更新目标动态库,再执行更新后的目标动态库。本技术将关键函数字段与更新前的目标动态库分开存储,关键函数字段不保存在本地,使得目标动态库无法被破解,同时,由于是将关键函数字段填充到内存的方式来更新目标动态库,不会产生临时的恢复动态库,而且,关键函数字段被保存在加密平台,十分安全可靠。本技术的动态库调用方法完全由动态库自己完成,不需要依赖其他工具,兼容性好。综上所述,本技术采用上述方法,避免了盗版者对目标动态库进行反汇编,逆向得出目标动态库的源代码,导致软件发布方丢失关键技术、核心算法等,极大地提高了数据的安全性。附图说明50.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。51.图1是本技术实施例提供的一种动态库调用的系统架构图;52.图2是本技术实施例提供的一种动态库调用方法的流程示意图;53.图3是本技术实施例提供的一种动态库调用方法的流程示意图;54.图4是本技术实施例提供的一种动态库调用方法的举例示意图;55.图5是本技术实施例提供的一种动态库调用装置的结构示意图;56.图6是本技术实施例提供的一种计算机设备的结构示意图。具体实施方式57.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。58.如图1所示,该网络架构图可以包括业务服务器100以及用户终端集群,该用户终端集群可以包括用户终端10a、用户终端10b、…、用户终端10c,其中,用户终端集群之间可以存在通信连接,例如用户终端10a与用户终端10b之间存在通信连接,用户终端10b与用户终端10c之间存在通信连接,且用户终端集群中的任一用户终端可以与业务服务器100存在通信连接,例如用户终端10a与业务服务器100之间存在通信连接,用户终端10b与业务服务器100之间存在通信连接。59.其中,上述用户终端集群(也包括上述的用户终端10a、用户终端10b以及用户终端10c)均可以集成安装有目标应用程序。可选的,该目标应用程序可以在用户终端上启动运行,并调用目标应用程序的目标动态库。具体的,用户在用户终端上启动目标应用程序,用户终端响应目标应用程序的启动指令,将目标动态库加载至运行所述目标应用程序的内存中,进一步执行所述目标动态库中的目标函数,获取目标数据地址,并从加密平台获取所述目标数据地址对应的关键函数字段,最后将所述关键函数字段填充进所述内存中的所述目标数据地址处,更新所述目标动态库,进一步执行更新后的所述目标动态库。60.可选的,上述用户终端可以为在上述图1所对应实施例的用户终端集群中所选取的任意一个用户终端,比如,该用户终端可以为上述用户终端10b,则用户可以在用户终端10b的显示页面上启动目标应用程序。61.可以理解的是,本技术实施例所提供的方法可以由计算机设备执行,计算机设备包括但不限于终端或服务器,本技术实施例中的业务服务器100可以为计算机设备,用户终端集群中的用户终端也可以为计算机设备,此处不限定。上述业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、智能音箱、台式计算机、智能手表等携带图像识别功能的智能终端,但并不局限于此。其中,用户终端以及业务服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。62.进一步地,为便于理解,请参见图2,图2是本技术实施例提供的动态库调用方法的流程示意图。该方法可以由用户终端(例如,上述图1所示的用户终端)执行,也可以由用户终端和业务服务器(如上述图1所对应实施例中的业务服务器100)共同执行。为便于理解,本实施例以该方法由上述用户终端执行为例进行说明。其中,该动态库调用方法至少可以包括以下步骤s101‑步骤s104:63.s101,响应目标应用程序的启动指令,将目标动态库加载至运行所述目标应用程序的内存中;64.具体的,用户在用户终端发起对目标应用程序的启动指令,启动指令用于触发目标应用程序的启动运行,具体可以是点击指令或者是触屏指令或者是语音信息,目标应用程序为用户终端中任意的应用程序,目标应用程序中包括目标动态库,目标动态库函数是实现共享函数库概念的一种方式,目标动态库的扩展名是“.so”,目标动态库中包括一个或多个已被编译、链接并与使用它们的进程分开存储的可执行函数,目标应用程序通过调用上述可执行函数,实现所述可执行函数的功能。目标动态库具体可以是可执行与可链接格式“executableandlinkableformat,elf”文件,elf文件是unix系统实验室作为应用程序二进制接口而开发和发布的,也是linux的主要可执行文件格式,elf文件由4部分组成,分别是elf头(elfheader)、程序头表(programheadertable)、节(section)和节头表(sectionheadertable)。进一步的,用户终端响应目标应用程序的启动指令,将所述目标应用程序的目标动态库加载至运行所述目标应用程序的内存中。65.s102,执行所述目标动态库中的目标函数,获取目标数据地址;66.具体的,用户终端运行所述目标动态库中的目标函数,获取目标数据地址,可以理解的是,目标函数可以是事先设置在目标动态库中的恢复函数,通过执行该恢复函数来解析目标动态库,从而获取目标动态库中的关键函数字段所在的目标数据地址。关键函数字段为目标动态库中关键功能对应的函数字段。目标数据地址获取过程如下:用户终端通过所述目标动态库中的恢复函数,对所述目标动态库进行解析,从而获取所述目标动态库中的关键函数字段的数据地址。下面以elf文件进行说明,用户终端执行恢复函数,读取elf头,获取程序头部表的偏移地址;进一步的,获取所述偏移地址所指示的动态库程序头部表,解析所述动态库程序头部表,获取动态程序段的地址。具体的,在elf文件中,动态程序段的地址可以为dynamic段的偏移地址。进一步的,解析所述动态程序段,获取symtab段和strtab段的偏移地址,最后通过遍历symtab段获取到关键函数字段对应的地址和长度。一般而言,可以通过关键函数的名称在symtab段中寻找对应的数据地址和长度。67.s103,从加密平台获取所述目标数据地址对应的关键函数字段;68.具体的,用户终端向加密平台发送携带验证信息的获取指令,所述加密平台对所述验证信息进行验证生成验证结果,所述获取指令携带目标数据地址,所述加密平台可以是加密芯片或者是加密云平台,当验证结果为验证通过时,用户终端根据所述目标数据地址,从所述加密平台获取所述目标数据地址对应的关键函数字段。69.s104,将所述关键函数字段填充进所述内存中的所述目标数据地址处,更新所述目标动态库。70.具体的,用户终端根据所述关键函数字段在所述内存中的目标数据地址,将所述关键函数字段填充进所述内存中的所述目标数据地址处,即完成对内存中的目标动态库的更新,在更新的过程中,不会产生临时恢复的动态库,直接将关键函数字段填充到目标应用程序的内存中。71.s105,执行更新后的所述目标动态库。72.具体的,用户终端执行所述内存中的更新的目标动态库,以启动所述目标应用程序。73.在本技术实施例中,目标动态库的关键函数字段被提取出来且单独保存在加密平台,在调用目标动态库时,需要通过执行目标函数将目标动态库加载到内存中,然后找到关键函数字段对应的数据地址,再通过该地址从加密平台处获取到关键函数字段并填充到内存中来,从而更新目标动态库,再执行更新后的目标动态库。本技术将关键函数字段与更新前的目标动态库分开存储,关键函数字段不保存在本地,使得目标动态库无法被破解,同时,由于是将关键函数字段填充到内存的方式来更新目标动态库,不会产生临时的恢复动态库,而且,关键函数字段被保存在加密平台,十分安全可靠。本技术的动态库调用方法完全由动态库自己完成,不需要依赖其他工具,兼容性好。综上所述,本技术采用上述方法,避免了盗版者对目标动态库进行反汇编,逆向得出目标动态库的源代码,导致软件发布方丢失关键技术、核心算法等,极大地提高了数据的安全性。74.请参见图3和图4,图3是本技术实施例提供的动态库调用方法的流程示意图,图4是本技术实施例提供的动态库调用方法的举例示意图。该方法可以由用户终端(例如,上述图1所示的用户终端)执行,也可以由用户终端和业务服务器(如上述图1所对应实施例中的业务服务器100)共同执行。为便于理解,本实施例以该方法由上述用户终端执行为例进行说明。其中,该动态库调用方法至少可以包括以下步骤s201‑步骤s206:75.s201,提取所述目标应用程序对应的初始动态库中的所述关键函数字段,将所述关键函数字段存储至所述加密平台;76.s202,将所述初始动态库中的关键函数字段进行反破译处理,生成所述目标动态库。77.为了避免目标应用程序的目标动态库被盗版者通过反汇编的方式,逆向得出目标动态库的源代码,从而获取软件发布方的关键技术,核心算法等,通常在目标动态库发布之前,将初始动态库中的关键函数提取出来单独保存在加密平台,然后对初始动态库中关键函数的代码段进行反破译处理,生成目标动态库,然后发布上述目标动态库。78.具体的,上述提取目标应用程序对应的初始动态库中的关键函数字段的步骤s201包括:79.s201.1:获取目标应用程序的初始动态库,对所述初始动态库进行解析,获取所述关键函数字段对应的所述目标数据地址和长度;80.s201.2:根据关键函数字段对应的目标数据地址和长度,提取所述关键函数字段。81.在步骤s201.1中,首先读取elf头,获取程序头部表的偏移地址;进一步的,获取所述偏移地址所指示的动态库程序头部表,解析所述动态库程序头部表,获取动态程序段的地址。在elf文件中,动态程序段的地址可以为dynamic段的偏移地址。进一步的,解析所述动态程序段,获取symtab段和strtab段的偏移地址,最后通过遍历symtab段获取到关键函数字段对应的目标数据地址和长度。一般而言,可以通过关键函数的名称在symtab段中寻找对应的目标数据地址和长度。在步骤s201.2中,再根据目标数据地址和长度将关键函数字段提取出来保存在加密平台中。82.在步骤s202中,具体的,用户终端在提取关键函数字段之后,将所述初始动态库中的关键函数字段进行反破译处理,生成目标动态库,可以理解的是,所述反破译处理是采用固定字段替换关键函数字段,隐藏关键函数的真实信息,具体的,用户终端根据预设字符和所述关键函数字段的长度,生成与关键函数字段具有相同长度反破译字段,然后用反破译字段替换关键函数字段。另一种实施例中,可以直接将关键函数字段的代码清零,这时候的反破译字段为“0……000”。s203,响应目标应用程序的启动指令,将目标动态库加载至运行所述目标应用程序的内存中;83.其中,本发明实施例的步骤s203参见图2所示实施例的步骤s101的具体描述,在此不进行赘述。84.s204,执行所述目标动态库中的目标函数,获取目标数据地址;85.其中,本发明实施例的步骤s204参见图2所示实施例的步骤s102的具体描述,在此不进行赘述。86.s205,从加密平台获取所述目标数据地址对应的关键函数字段;87.其中,本发明实施例的步骤s205参见图2所示实施例的步骤s103的具体描述,在此不进行赘述。88.s206,将所述关键函数字段填充进所述内存中的所述目标数据地址处,更新所述目标动态库。89.其中,本发明实施例的步骤s206参见图2所示实施例的步骤s104的具体描述,在此不进行赘述。90.s207,执行更新后的所述目标动态库。91.其中,本发明实施例的步骤s207参见图2所示实施例的步骤s105的具体描述,在此不进行赘述。92.在本技术实施例中,目标动态库的关键函数字段被提取出来且单独保存在加密平台,在调用目标动态库时,需要通过执行目标函数将目标动态库加载到内存中,然后找到关键函数字段对应的数据地址,再通过该地址从加密平台处获取到关键函数字段并填充到内存中来,从而更新目标动态库,再执行更新后的目标动态库。本技术将关键函数字段与更新前的目标动态库分开存储,关键函数字段不保存在本地,使得目标动态库无法被破解,同时,由于是将关键函数字段填充到内存的方式来更新目标动态库,不会产生临时的恢复动态库,而且,关键函数字段被保存在加密平台,十分安全可靠。本技术的动态库调用方法完全由动态库自己完成,不需要依赖其他工具,兼容性好。综上所述,本技术采用上述方法,避免了盗版者对目标动态库进行反汇编,逆向得出目标动态库的源代码,导致软件发布方丢失关键技术、核心算法等,极大地提高了数据的安全性。93.请参见图5,图5是本技术实施例提供的一种动态库调用装置的结构示意图。所述动态库调用装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该动态库调用装置为一个应用软件;该设备可以用于执行本技术实施例提供的方法中的相应步骤。如图5所示,本技术实施例的所述动态库调用装置1可以包括:加载模块11、函数执行模块12、获取模块13、更新模块14、动态库执行模块15。94.加载模块11,用于响应目标应用程序的启动指令,将目标动态库加载至运行所述目标应用程序的内存中;95.函数执行模块12,用于执行所述目标动态库中的目标函数,获取目标数据地址;96.获取模块13,用于从加密平台获取所述目标数据地址对应的关键函数字段;97.更新模块14,用于将所述关键函数字段填充进所述内存中的所述目标数据地址处,更新所述目标动态库;98.动态库执行模块15,用于执行更新后的所述目标动态库。99.请参见图5,本技术实施例的所述动态库调用装置1可以还包括:关键字段加密模块16、反破译处理模块17;100.关键字段加密模块16,用于关键字段加密模块,用于提取所述目标应用程序对应的初始动态库中的所述关键函数字段,将所述关键函数字段存储至所述加密平台;101.反破译处理模块17,用于将所述初始动态库中的关键函数字段进行反破译处理,生成目标动态库。102.在一种可行的实施方式中,所述关键字段加密模块具体用于:103.获取目标应用程序的初始动态库,对所述初始动态库进行解析,获取所述关键函数字段对应的所述目标数据地址和长度;104.根据关键函数字段对应的目标数据地址和长度,提取所述关键函数字段。105.在一种可行的实施方式中,所述反破译处理模块具体用于:106.根据预设字符和所述关键函数字段的长度,生成反破译字段;107.采用所述反破译字段替换所述初始动态库中的关键函数字段,生成所述目标动态库。108.在一种可行的实施方式中,所述反破译处理模块具体用于:109.将所述初始动态库中的关键函数字段进行清零,生成所述目标动态库。110.在一种可行的实施方式中,所述获取模块具体用于:111.向加密平台发送携带验证信息的获取指令,以使所述加密平台对所述验证信息进行验证生成验证结果;所述获取指令携带目标数据地址;112.当验证结果为验证通过时,根据所述目标数据地址,从所述加密平台获取所述目标数据地址对应的关键函数字段。113.在一种可行的实施方式中,所述加密平台为加密云平台或加密芯片中的一种。114.在本技术实施例中,目标动态库的关键函数字段被提取出来且单独保存在加密平台,在调用目标动态库时,需要通过执行目标函数将目标动态库加载到内存中,然后找到关键函数字段对应的数据地址,再通过该地址从加密平台处获取到关键函数字段并填充到内存中来,从而更新目标动态库,再执行更新后的目标动态库。本技术将关键函数字段与更新前的目标动态库分开存储,关键函数字段不保存在本地,使得目标动态库无法被破解,同时,由于是将关键函数字段填充到内存的方式来更新目标动态库,不会产生临时的恢复动态库,而且,关键函数字段被保存在加密平台,十分安全可靠。本技术的动态库调用方法完全由动态库自己完成,不需要依赖其他工具,兼容性好。综上所述,本技术采用上述方法,避免了盗版者对目标动态库进行反汇编,逆向得出目标动态库的源代码,导致软件发布方丢失关键技术、核心算法等,极大地提高了数据的安全性。115.请参见图6,图6是本技术实施例提供的一种计算机设备的结构示意图。如图6所示,所述计算机设备1000可以包括:至少一个处理器1001,例如cpu,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi‑fi接口)。存储器1005可以是随机存取存储器(randomaccessmemory,ram),也可以是非易失性存储器(non‑volatilememory,nvm),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及动态库调用应用程序。116.在图6所示的计算机设备1000中,网络接口1004可提供网络通讯功能,用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的动态库调用应用程序,以实现上述图2‑图4任一个所对应实施例中对所述动态库调用方法的描述,在此不再赘述。117.应当理解,本技术实施例中所描述的计算机设备1000可执行前文图2‑图4任一个所对应实施例中对所述动态库调用方法的描述,也可执行前文图5所对应实施例中对所述动态库调用装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。118.此外,这里需要指出的是:本技术实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的动态库调用装置所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2‑图4任一个所对应实施例中对所述动态库调用方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。119.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述计算机可读存储介质可以是前述任一实施例提供的一种动态库调用装置或者上述设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read‑onlymemory,rom)或随机存储记忆体等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其它程序和数量。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。120.本发明的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。121.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。122.在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。123.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜