一种软件处理方法及装置、应用程序、电子设备与流程

文档序号:20617951发布日期:2020-05-06 20:24阅读:152来源:国知局
一种软件处理方法及装置、应用程序、电子设备与流程

本发明涉及软件处理技术领域,特别是指一种软件处理方法及装置、应用程序、电子设备。



背景技术:

现有的应用程序一般包括一个可执行程序文件(.exe文件)、多个动态链接库文件(.dll文件)、多个其他相关配置文件等。运行应用程序时,执行可执行程序文件,执行过程中链接各动态链接库、读取各配置文件,实现应用程序的功能。目前,各动态链接库文件及配置文件均为独立的文件,文件名称大致标明了基本功能,这样,根据整个应用程序的各文件组成、文件功能,结合第三方工具,利用逆向工程有可能分析获得应用程序的源代码,对软件开发方造成损失,对应用程序造成安全威胁。



技术实现要素:

有鉴于此,本发明的目的在于提出一种软件处理方法及装置、应用程序、电子设备,通过对动态链接库文件及配置文件进行处理,可以提高软件应用程序的安全性。

基于上述目的,本发明提供了一种软件处理方法,包括:

生成对应于每个动态链接库文件的标识信息;

对所述每个动态链接库文件进行处理,生成相应的动态库数据流;

生成对应于每个配置文件的标识信息;

对所述每个配置文件进行处理,生成相应的配置数据流;

建立加载数据对照表,所述加载数据对照表包括所述每个动态链接库文件的标识信息及其对应的所述动态库数据流在加载数据流中的起始位置、结束位置,所述每个配置文件的标识信息及其对应的所述配置数据流在加载数据流中的起始位置、结束位置;

将所述加载数据流及加载数据对照表保存于数据库中,所述加载数据流包括所述动态库数据流与所述配置数据流;

生成包括所述每个动态链接库文件的标识信息、每个配置文件的标识信息的可执行程序文件。

可选的,所述方法还包括:

执行所述可执行程序文件;

所述可执行程序文件动态加载过程中,

对于加载所述动态链接库文件,根据所述动态链接库文件的标识信息,查询所述数据库中的所述加载数据对照表,获取所述相应的动态库数据流在所述加载数据流中的起始位置、结束位置,从所述加载数据流中的起始位置到结束位置获取所述动态库数据流,加载所述动态库数据流;

对于加载所述配置文件,根据所述配置文件的标识信息,查询所述数据库中的所述加载数据对照表,获取所述相应的配置数据流在所述加载数据流中的起始位置、结束位置,从所述加载数据流中的起始位置到结束位置获取所述配置数据流,加载所述配置数据流。

可选的,所述方法还包括:

所述生成相应的配置数据流之后,对所述配置数据流添加预定义的数据头,将添加数据头的配置数据流保存于所述加载数据流中。

可选的,所述方法还包括:

从所述加载数据流中获取添加所述数据头的配置数据流之后,先去掉所述数据头,然后加载所述配置数据流。

可选的,所述方法还包括:

利用加密算法对所述动态链接库文件、配置文件进行处理,生成密文动态库数据流、密文配置数据流,将密文动态库数据流、密文配置数据流保存于所述加载数据流中。

可选的,所述方法还包括;

从所述加载数据流中获取到所述密文动态库数据流、密文配置数据流之后,先进行解密处理,然后加载解密后的所述动态库数据流、配置数据流。

本发明实施例还提供一种数据处理装置,包括:

标识信息生成模块,用于生成对应于每个动态链接库文件的标识信息,以及生成对应于每个配置文件的标识信息;

数据处理模块,用于对所述每个动态链接库文件进行处理,生成相应的动态库数据流,以及对所述每个配置文件进行处理,生成相应的配置数据流;

加载数据对照表,包括所述每个动态链接库文件的标识信息及其对应的动态库数据流在加载数据流中的起始位置、结束位置,每个配置文件的标识信息及其对应的配置数据流在加载数据流中的起始位置、结束位置;

数据库,用于保存所述加载数据流及所述加载数据对照表,所述加载数据流包括所述动态库数据流与配置数据流;

可执行程序文件,包括所述每个动态链接库文件的标识信息、每个配置文件的标识信息。

可选的,所述装置还包括:

执行模块,用于执行所述可执行程序文件;

加载模块,用于于所述可执行程序文件动态加载过程中,加载所述动态链接库文件与配置文件;加载过程是:

对于加载所述动态链接库文件,根据所述动态链接库文件的标识信息,查询所述数据库中的所述加载数据对照表,获取所述相应的动态库数据流在所述加载数据流中的起始位置、结束位置,从所述加载数据流中的起始位置到结束位置获取所述动态库数据流,加载所述动态库数据流;

对于加载所述配置文件,根据所述配置文件的标识信息,查询所述数据库中的所述加载数据对照表,获取所述相应的配置数据流在所述加载数据流中的起始位置、结束位置,从所述加载数据流中的起始位置到结束位置获取所述配置数据流,所述加载配置数据流。

可选的,所述数据处理模块还包括:

加密子模块,用于对每个动态链接库文件进行加密处理,生成相应的密文动态库数据流,以及对配置文件进行加密处理,生成相应的密文配置数据流。

可选的,所述加载模块还包括:

解密子模块,用于于加载数据流中获取密文动态库数据流、密文配置数据流之后,先对密文动态库数据流、密文配置数据流进行解密,然后加载解密后的动态库数据流、配置数据流。

可选的,所述数据处理模块还包括:

编码子模块,用于对配置数据流进行加数据头处理。

可选的,所述加载模块还包括:

解码子模块,用于于加载数据流中获取加数据头的配置数据流之后,去掉数据头,然后加载配置数据流。

本发明实施例还提供一种应用程序,包括;

可执行程序文件,包括每个动态链接库文件的标识信息、每个配置文件的标识信息;

数据库,保存加载数据流及加载数据对照表,所述加载数据流包括对所述动态链接文件、配置文件进行处理生成的相应的动态库数据流、配置数据流,所述加载数据对照表包括所述每个动态链接库文件的标识信息及其对应的动态库数据流在所述数据库中的起始位置、结束位置,所述每个配置文件的标识信息及其对应的配置数据流在所述数据库中的起始位置、结束位置。

可选的,所述加载数据流包括对所述动态库数据流、配置数据流进行加密处理后形成的密文动态库数据流、密文配置数据流。

可选的,所述加载数据流包括带有数据头的配置数据流。

本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述软件处理方法。

从上面所述可以看出,本发明提供的软件处理方法及装置、应用程序、电子设备,通过对动态链接库文件、配置文件进行处理,生成相应的动态库数据流、配置数据流组成加载数据流,将加载数据流与加载数据对照表保存于数据库中,执行应用程序时,根据动态链接库文件、配置文件查询数据库,获取并加载相应的数据流。本发明通过关键数据的处理与隐藏,能够提高应用程序的安全性。

附图说明

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

图1为本发明实施例的软件处理方法流程示意图;

图2为本发明实施例的软件处理装置结构示意图;

图3为本发明实施例的应用程序结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

图1为本发明实施例的软件处理方法流程示意图。如图所示,本发明实施例提供的软件处理方法,用于生成应用程序,所述方法包括:

s10:生成对应于每个动态链接库文件的标识信息;

s11:对每个动态链接库文件进行处理,生成相应的动态库数据流;

s12:生成对应于每个配置文件的标识信息;

s13:对每个配置文件进行处理,生成相应的配置数据流;

s14:建立加载数据对照表,所述加载数据对照表包括每个动态链接库文件的标识信息及其对应的动态库数据流在加载数据流中的起始位置、结束位置,每个配置文件的标识信息及其对应的配置数据流在加载数据流中的起始位置、结束位置;

s15:将加载数据流及加载数据对照表保存于数据库中,所述加载数据流包括动态库数据流与配置数据流;

s16:生成包括每个动态链接库文件的标识信息、每个配置文件的标识信息的可执行程序文件。

加载应用程序时,所述软件处理方法还包括:

执行可执行程序文件;

可执行程序文件动态加载过程中,

对于加载动态链接库文件,根据动态链接库文件的标识信息,查询数据库中的加载数据对照表,获取相应的动态库数据流在加载数据流中的起始位置、结束位置,从加载数据流中的起始位置到结束位置获取动态库数据流,加载动态库数据流;

对于加载配置文件,根据配置文件的标识信息,查询数据库中的加载数据对照表,获取相应的配置数据流在加载数据流中的起始位置、结束位置,从加载数据流中的起始位置到结束位置获取配置数据流,加载配置数据流。

为提高数据安全性,对配置文件进行处理,生成相应的配置数据流之后,对配置数据流添加预定义的数据头,将添加数据头的配置数据流保存于数据库的加载数据流中。加载应用程序时,根据配置文件的标识信息获取到添加数据头的配置数据流之后,先去掉数据头,然后加载配置数据流。

为进一步提高数据安全性,可利用加密算法对动态链接库文件、配置文件进行处理,生成密文动态库数据流、密文配置数据流,将密文动态库数据流、密文配置数据流保存于加载数据流中。加载应用程序时,根据动态链接库或配置文件的标识信息获取到相应的密文动态库数据流、密文配置数据流之后,先进行解密处理,再加载解密后的动态库数据流、配置数据流。

图2为本发明实施例的软件处理装置结构示意图。如图所示,本发明实施例提供的软件处理装置,包括:

标识信息生成模块,用于生成对应于每个动态链接库文件的标识信息,以及生成对应于每个配置文件的标识信息;

数据处理模块,用于对每个动态链接库文件进行处理,生成相应的动态库数据流,以及对每个配置文件进行处理,生成相应的配置数据流;

加载数据对照表,包括每个动态链接库文件的标识信息及其对应的动态库数据流在加载数据流中的起始位置、结束位置,每个配置文件的标识信息及其对应的配置数据流在加载数据流中的起始位置、结束位置;

数据库,用于保存加载数据流及加载数据对照表,所述加载数据流包括动态库数据流与配置数据流;

可执行程序文件,包括每个动态链接库文件的标识信息、每个配置文件的标识信息。

本发明实施例中,所述软件处理装置还包括:

执行模块,用于执行可执行程序文件;

加载模块,用于于可执行程序文件动态加载过程中,加载动态链接库文件与配置文件;加载过程是:

对于加载动态链接库文件,根据动态链接库文件的标识信息,查询数据库中的加载数据对照表,获取相应的动态库数据流在加载数据流中的起始位置、结束位置,从加载数据流中的起始位置到结束位置获取动态库数据流,加载动态库数据流;

对于加载配置文件,根据配置文件的标识信息,查询数据库中的加载数据对照表,获取相应的配置数据流在加载数据流中的起始位置、结束位置,从加载数据流中的起始位置到结束位置获取配置数据流,加载配置数据流。

本发明实施例中,所述数据处理模块还包括:

加密子模块,用于对每个动态链接库文件进行加密处理,生成相应的密文动态库数据流,以及对配置文件进行加密处理,生成相应的密文配置数据流。

本发明实施例中,所述加载模块还包括:

解密子模块,用于于加载数据流中获取密文动态库数据流、密文配置数据流之后,先对密文动态库数据流、密文配置数据流进行解密,然后加载解密后的动态库数据流、配置数据流。

本发明实施例中,所述数据处理模块还包括:

编码子模块,用于对配置数据流进行加数据头处理。

所述加载模块还包括:

解码子模块,用于于加载数据流中获取加数据头的配置数据流之后,去掉数据头,然后加载配置数据流。

图3为本发明实施例的应用程序结构示意图。本发明实施例中,所述应用程序包括可执行程序文件、数据库;

可执行程序文件,包括每个动态链接库文件的标识信息、每个配置文件的标识信息;

数据库,保存加载数据流及加载数据对照表,加载数据流包括动态库数据流与配置数据流,所述加载数据对照表包括动态链接库文件的标识信息及其对应的动态库数据流在数据库中的起始位置、结束位置,配置文件的标识信息及其对应的配置数据流在数据库中的起始位置、结束位置。

所述加载数据流可以包括密文动态库数据流与密文配置数据流,所述加载数据流可以包括带有数据头的配置数据流。

本发明实施例中,将各动态链接库文件、各配置文件以数据流的形式保存于数据库中,为各动态链接库文件、配置文件分配相应的标识信息,可执行程序文件执行时,根据执行顺序确定各动态链接库文件、配置文件的读取加载顺序,加载动态链接库文件时,根据动态链接库文件的标识信息,查询数据库中的加载数据对照表,获取动态链接库文件的标识信息对应的动态库数据流在加载数据流中的起始位置、结束位置,从加载数据流的起始位置到结束位置之间获取相应的动态库数据流,加载动态库数据流;加载配置文件时,根据配置文件的标识信息,查询数据库中的加载数据对照表,获取配置文件的标识信息对应的配置数据流在加载数据流中的起始位置、结束位置,从加载数据流的起始位置到结束位置之间获取相应的配置数据流,加载配置数据流,从而完成应用程序的加载执行过程。本发明通过将各动态链接库文件、配置文件经处理后保存于数据库中,避免多个文件被分析破解,提高应用程序的安全性。

基于上述目的,本发明实施例还提出了一种执行所述软件处理方法的装置的一个实施例。所述装置包括:

一个或多个处理器以及存储器。

所述执行所述软件处理方法的装置还可以包括:输入装置和输出装置。

处理器、存储器、输入装置和输出装置可以通过总线或者其他方式连接。

存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的所述软件处理方法对应的程序指令/模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的软件处理方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据执行所述软件处理方法的装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至会员用户行为监控装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置可接收输入的数字或字符信息,以及产生与执行所述软件处理方法的装置的用户设置以及功能控制有关的键信号输入。输出装置可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任意方法实施例中的软件处理方法。所述执行所述软件处理方法的装置的实施例,其技术效果与前述任意方法实施例相同或者类似。

本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的列表项操作的处理方法。所述非暂态计算机存储介质的实施例,其技术效果与前述任意方法实施例相同或者类似。

最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。所述计算机程序的实施例,其技术效果与前述任意方法实施例相同或者类似。

此外,典型地,本公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(pda)、平板电脑(pad)、智能电视等,也可以是大型终端设备,如服务器等,因此本公开的保护范围不应限定为某种特定类型的装置、设备。本公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。

此外,根据本公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本公开的方法中限定的上述功能。

此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。

此外,应该明白的是,本文所述的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强sdram(esdram)、同步链路dram(sldram)以及直接rambusram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。

上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。

本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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