一种应用程序配套文件的存取方法、装置、设备及存储介质与流程

文档序号:22626439发布日期:2020-10-23 19:34阅读:147来源:国知局
一种应用程序配套文件的存取方法、装置、设备及存储介质与流程

本说明书涉及应用程序技术领域,特别是一种应用程序配套文件的存取方法、装置、设备及存储介质。



背景技术:

应用程序一般由一组文件共同构成,包含有应用的二进制、配置文件、及脚本文件等配套文件。配置文件和脚本文件都在应用程序的路径下,所以很容易被获取,也存在被篡改的风险。具体来说,应用程序的配套脚本是为了实现简单的、灵活的功能,而使用shell、python等解释型语言开发的代码,如果被轻易地读写,会降低应用程序甚至系统的安全性。软件厂家一般会将其设置成隐藏的路径和文件,但是通过设置路径属性,可以显示出隐藏文件,也可以获取读写权限。所以在当前目录下隐藏文件保护应用程序的配套文件的方式并不可靠。应用程序的配置文件是为了适配操作系统的差异提取出一些可调整的参数,或者根据用户授权设定不同等级的权限。通常配置参数提取成容易读写的key-value形式,保存成独立的配置文件。非专业人员可能误操作或者误删,造成应用程序运行异常、甚至无法启动。而且,软件公司内部参数(比如用户授权、操作限制等)不应该对用户公开,只能开放给技术支持工程师。如果把配置参数都存在应用程序的二进制中,虽然能够隐藏重要信息,但是技术支持工程师却无法修改。每次修改配套文件,都需要重新编译和发布版本,流程冗长、效率极低。



技术实现要素:

本说明书实施例的目的在于,提供了一种应用程序配套文件的存取方法、装置、设备及存储介质,通过在应用程序基础功能之中,增加封装、释放两种操作,来实现应用程序配套文件的存取,把封装和释放功能抽象成静态库,应用程序开发时新增封装和释放功能,增强了结构化和通用性,将应用程序和配套文件封装成一个文件,分发更便捷、管理更简单。。

为达到上述目的,一方面,本说明书实施例提供了一种应用程序配套文件的存取方法,包括:

创建封装静态库;

调用所述封装静态库封装所述应用程序的第一可执行文件和所述配套文件为第二可执行文件;

创建释放静态库;

调用所述释放静态库释放所述配套文件,具体为在所述应用程序启动时,运行所述第二可执行文件释放所述配套文件。

另一方面,本说明书实施例还提供了一种应用程序配套文件的存取装置,包括:

封装静态库创建模块,用于创建封装静态库;

封装模块,用于调用所述封装静态库封装所述应用程序的第一可执行文件和所述配套文件为第二可执行文件;

释放静态库创建模块,用于创建释放静态库;

释放模块,用于调用所述释放静态库释放所述配套文件,具体为在所述应用程序启动时,运行所述第二可执行文件释放所述配套文件。

另一方面,本说明书实施例还提供了一种电子设备,包括:

存储器,用于存储计算机软件程序

处理器,用于运行所述计算机软件程序时可实现本发明实施例中的应用程序配套文件的存取方法的步骤。

另一方面,本说明书实施例还提供了一种一种计算机可读存储介质,其上存储有计算机软件程序,所述计算机软件程序被运行时可实现本发明实施例中的应用程序配套文件的存取方法的步骤。

由以上本说明书实施例提供的技术方案可见,本说明书实施例通过在应用程序基础功能之中,增加封装、释放两种操作,来实现应用程序配套文件的存取,把封装和释放功能抽象成静态库,应用程序开发时新增封装和释放功能,增强了结构化和通用性,简单易用,进一步来说,通过封装和释放两个步骤,通过对应用程序的可执行文件进行的改造,把应用程序的配套文件都封装到一个可执行文件的外壳中,分发更便捷,管理更简单。程序启动时,配套文件释放,重置成原厂提供的文件。配套文件的释放路径和名称对用户保密,如果不在应用程序的当前路径下,就无法轻易地被获取和篡改。配套文件被封装到应用程序尾部,使用户操作方法不变,使用者无感知。应用程序启动时才释放,使被封装的配套文件具有只读效果和一定的隐藏能力,而且不影响应用程序在运行时执行效率。

附图说明

图1为本说明书一些实施例的应用程序配套文件的存取方法的流程图。

图2为本说明书一些实施例的应用程序配套文件的存取装置的结构框图。

图3为本说明书一些实施例的应用程序配套文件的封装示意图。

图4为本说明书一些实施例的应用程序配套文件的释放示意图。

具体实施方式

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

如图1所示,本说明书一些实施例中提供了一种应用程序配套文件的存取方法,该方法包括以下步骤:

s102、创建封装静态库;

s104、调用封装静态库封装应用程序的第一可执行文件和配套文件为第二可执行文件;

s106、创建释放静态库;

s108、调用释放静态库释放配套文件,具体为在应用程序启动时,运行第二可执行文件释放配套文件。

在本说明书一些实施例中,调用封装静态库封装应用程序的第一可执行文件和配套文件为第二可执行文件的步骤s104,具体包括,将配套文件压缩后添加至应用程序的第一可执行文件的尾部,并在压缩后的配套文件的尾部添加与压缩后的配套文件长度相匹配的字节数后进行封装,形成第二可执行文件。静态库是指在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库。配套文件被封装到应用程序尾部,使用户操作方法不变,使用者无感知。

在本说明书一些实施例中,在应用程序启动时,运行第二可执行文件释放配套文件的步骤s108,具体包括,获取字节数,设置应用程序为第一临时文件,设置压缩后的配套文件为第二临时文件,解压第二临时文件并至释放至配套文件的释放路径。应用程序启动时才释放,使被封装的配套文件具有只读效果和一定的隐藏能力,而且不影响应用程序在运行时执行效率。

在本说明书一些实施例中,配套文件的释放路径区别于应用程序所在的路径。配套文件包括应用程序的配置文件和脚本文件。

在实际的应用环境中,进行封装时,进一步举例来说,如图3所示,在应用程序发布之前,把第一可执行文件(例如应用程序的原可执行文件)准备好,且准备封装附件(例如重要的配置和脚本等配套文件的压缩包),而后将封装附件封装在可执行文件的外壳下,其封装过程是把封装附件追加到第一可执行文件的尾部,并在最后添加与封装附件长度匹配的字节数(例如4字节),如此变形成了第二可执行文件,也就是基于应用程序的原可执行文件形成改造后的可执行文件。进行释放时,进一步举例来说,在应用程序启动时,运行改造后的可执行文件可以释放出配套文件。释放出的配套文件生成一个新的路径,这个新的路径被指定到应用程序所在的路径之外,配套文件包括配置文件和脚本文件等,从而在一定程度上隐藏了应用程序配套文件。释放的具体方法可以是,如图4所示,从文件的最后的字节数取出配套文件的压缩包大小,把应用程序的原可执行文件写成第一临时文件,把封装附件(配套文件压缩包)写成第二临时文件,把第二临时文件解压到释放路径即可。

进一步地,如果需要修改配套文件,可以在释放路径下直接进行修改操作后,再次封装成应用程序的新的文件即可。这个功能使应用程序隐藏了配套文件的路径,同时具有限制性的修改能力。

涉及到具体开发环节,举例如下:释放功能在开发时,需要在应用程序原有的启动流程中,增加调用释放的函数接口。释放函数的主要参数是释放路径,应用程序在调用被封装的脚本和配置文件时,需要在文件名前方添加释放路径。封装功能开发时需要给应用程序增加一个封装参数,当输入封装参数时调用封装函数。封装函数的主要参数有两个,分别是可执行文件和封装附件。

由此,基于本发明实施例的应用程序配套文件的存取方法,通过在应用程序基础功能之中,增加封装、释放两种操作,来实现应用程序配套文件的存取,把封装和释放功能抽象成静态库,应用程序开发时新增封装和释放功能,增强了结构化和通用性。

如图2所示,本说明书一些实施例中还提供了一种应用程序配套文件的存取装置,该装置包括:

封装静态库创建模块201,用于创建封装静态库;

封装模块202,用于调用封装静态库封装应用程序的第一可执行文件和配套文件为第二可执行文件;

释放静态库创建模块203,用于创建释放静态库;

释放模块204,用于调用释放静态库释放配套文件,具体为在应用程序启动时,运行第二可执行文件释放配套文件。

在本说明书一些实施例中,该封装模块202,具体用于将配套文件压缩后添加至应用程序的第一可执行文件的尾部,并在压缩后的配套文件的尾部添加与压缩后的配套文件长度相匹配的字节数后进行封装,形成第二可执行文件。

在本说明书一些实施例中,释放模块204,具体用于获取字节数,设置应用程序为第一临时文件,设置压缩后的配套文件为第二临时文件,解压第二临时文件并至释放至配套文件的释放路径。配套文件包括应用程序的配置文件和脚本文件,配套文件的释放路径区别于应用程序所在的路径。

在本说明书一些实施例中,还提供了一种电子设备,包括:存储器,用于存储计算机软件程序;处理器,用于运行计算机软件程序时可实现本说明书实施例中的应用程序配套文件的存取方法的步骤。

在本说明书一些实施例中,还提供了一种计算机可读存储介质,其上存储有计算机软件程序,计算机软件程序被运行时可实现本说明书实施例中的应用程序配套文件的存取方法的步骤。

运行上述计算机程序可以实现本发明实施例中的配套文件存取方法进而实现对应用程序配套文件的安全性提升。

虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘式存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于装置实施例,所以描述的比较简单,相关之处参见装置实施例的部分说明即可。以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

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