一种资源文件的打包方法和解包方法

文档序号:10655823阅读:215来源:国知局
一种资源文件的打包方法和解包方法
【专利摘要】本发明公开了一种资源文件的打包方法,包括:获取资源文件所在的目录,以及该目录下的所有资源文件,创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置,对获取的每个资源文件进行加密操作,以生成加密后的资源文件,将加密后的每个资源文件写入创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、以及该资源文件写入最终打包文件的位置,将生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。本发明能够解决现有资源文件容易被非法第三方用户获取并破解的技术问题。
【专利说明】
一种资源文件的打包方法和解包方法
技术领域
[0001 ]本发明属于文件加解密技术领域,更具体地,涉及一种资源文件的打包方法和解包方法。
【背景技术】
[0002]目前,直播软件有自带美颜功能,美颜功能则是通过编写显卡shader资源文件实现的,shader是一段在显卡的GPU上执行的程序。由于Shader程序是保存在磁盘上的文本文件,相当于是开源的程序,其随直播软件一起发布,因此第三方很轻易的就能够拿到shader文件并直接使用,更有甚者,一些非法的第三方会对获取的shader文件进行破解,从而损害了直播软件所有者的权益。

【发明内容】

[0003]针对现有技术的以上缺陷或改进需求,本发明提供了一种资源文件的打包方法和解包方法,其目的在于,解决现有资源文件容易被非法第三方用户获取并破解的技术问题。
[0004]为实现上述目的,按照本发明的一个方面,提供了一种资源文件的打包方法,其特征在于,包括以下步骤:
[0005](I)获取资源文件所在的目录,以及该目录下的所有资源文件;
[0006](2)创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置;
[0007](3)对步骤(I)中获取的每个资源文件进行加密操作,以生成加密后的资源文件;
[0008](4)将加密后的每个资源文件写入步骤(2)创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、以及该资源文件写入最终打包文件的位置;
[0009](5)将步骤(4)中生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。
[0010]优选地,资源文件是GPU中执行的Shader文件。
[0011]优选地,针对所有的资源文件所采用的加密算法是相同的。
[0012]优选地,对所有的资源文件所采用的加密算法是不同的,文件索引信息还用于记录使用的加密算法所对应的解密算法的序号。
[0013]按照本发明的另一方面,提供了一种资源文件的打包系统,包括:
[0014]第一模块,用于获取资源文件所在的目录,以及该目录下的所有资源文件;
[0015]第二模块,用于创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置;
[0016]第三模块,用于对第一模块中获取的每个资源文件进行加密操作,以生成加密后的资源文件;
[0017]第四模块,用于将加密后的每个资源文件写入第二模块创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、以及该资源文件写入最终打包文件的位置;
[0018]第五模块,用于将第四模块中生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。
[0019]按照本发明的另一方面,提供了一种资源文件的解包方法,包括以下步骤:
[0020](I)对获取最终打包文件进行解压缩操作,并获取解压缩后的最终打包文件头部中所存储的资源文件的文件索引信息在该最终打包文件中的位置;
[0021](2)根据获取的文件索引信息读取每个资源文件,并根据文件索引信息中包括的加密算法对应的解密算法对该资源文件进行解密操作;
[0022](3)对于解密后的资源文件,根据文件索引信息中该资源文件的文件名生成对应的资源文件。
[0023]按照本发明的另一方面,提供了一种资源文件的解包系统,包括:
[0024]第一模块,用于对获取最终打包文件进行解压缩操作,并获取解压缩后的最终打包文件头部中所存储的资源文件的文件索引信息在该最终打包文件中的位置;
[0025]第二模块,用于根据获取的文件索引信息读取每个资源文件,并根据文件索引信息中包括的加密算法对应的解密算法对该资源文件进行解密操作;
[0026]第三模块,用于对于解密后的资源文件,根据文件索引信息中该资源文件的文件名生成对应的资源文件。
[0027]总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0028]1、本发明能够通过加解密的打包操作对资源文件进行保护,从而可以防止非法第三方轻易获取并破解该资源文件,损害直播软件所有者的权益;
[0029]2、由于本发明加密过程对最终打包文件进行了压缩存储操作,因此减少了对于磁盘的占用,并且供用户下载的最终打包文件占用较少下载流量,为用户增加了使用性。
【附图说明】
[0030]图1是本发明资源文件的打包方法的流程图;
[0031]图2是本发明资源文件的解包方法的流程图。
【具体实施方式】
[0032]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0033]针对现有资源处理方法的改进,此发明提供了一种资源文件的打包方法和解包方法,其将多个shader文件打包成一个独立文件,并对各个shader使用独立的加密方法,最终对整个文件再进行一次加密和压缩。此方法采用在最终的打包文件头写入文件索引的偏移,然后写入每个独立的文件内容,再在文件末尾写入文件列表索引(记录每个文件在打包文件中的偏移和大小和文件名及加密算法序号)。在使用打包文件时,先读取打包文件后,再读取文件列表索引信息,最后解密得到每个独立的文件。
[0034]如图1所示,本发明资源文件的打包方法包括以下步骤:
[0035](I)获取资源文件所在的目录,以及该目录下的所有资源文件;在本发明中,资源文件是GHJ中执行的Shader文件,应该理解本发明并不局限于shader文件,其他类型的资源文件,比如txt、XML、JPEG、Doc、Excel类型的文件,也均落入本发明的保护范围中;
[0036](2)创建一个最终打包文件,该最终打包文件预留有头部,用于存储该资源文件的文件索引信息在该最终打包文件中的位置(即偏移量),该文件索引信息用于记录每个资源文件的文件名、文件大小、以及后续使用的加密算法所对应的解密算法的序号;
[0037](3)对步骤(I)中获取的每个资源文件进行加密操作,以生成加密后的资源文件;在本实施方式中,加密操作所使用的算法可以是数据加密标准(Data Encrypt1nStandard,简称DES)、高级加密标准(Advanced Encrypt1n Standard,简称AES)等;
[0038]应该注意的是,本发明中,可以针对不同的资源文件使用不同的加密算法(比如,如果针对十个资源文件,使用了十种不同的加密算法,则每个加密算法会有一个对应的加密算法序号),也可以针对不同的资源文件使用相同的加密算法;
[0039](4)将加密后的每个资源文件写入步骤(2)创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、该资源文件写入最终打包文件的位置、以及使用的加密算法所对应的解密算法的序号;
[0040](5)将步骤(4)中生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。
[0041]如图2所示,本发明资源文件的解包方法包括以下步骤:
[0042](I)对获取最终打包文件进行解压缩操作,并获取解压缩后的最终打包文件头部中所存储的资源文件的文件索引信息在该最终打包文件中的位置;
[0043](2)根据获取的文件索引信息读取每个资源文件,并根据文件索引信息中包括的加密算法对应的解密算法对该资源文件进行解密操作;
[0044](3)对于解密后的资源文件,根据文件索引信息中该资源文件的文件名生成对应的资源文件。
[0045]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种资源文件的打包方法,其特征在于,包括以下步骤: (1)获取资源文件所在的目录,以及该目录下的所有资源文件; (2)创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置; (3)对步骤(I)中获取的每个资源文件进行加密操作,以生成加密后的资源文件; (4)将加密后的每个资源文件写入步骤(2)创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、以及该资源文件写入最终打包文件的位置; (5)将步骤(4)中生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。2.根据权利要求1所述的打包方法,其特征在于,资源文件是GPU中执行的Shader文件。3.根据权利要求1所述的打包方法,其特征在于,针对所有的资源文件所采用的加密算法是相同的。4.根据权利要求1所述的打包方法,其特征在于,对所有的资源文件所采用的加密算法是不同的,文件索引信息还用于记录使用的加密算法所对应的解密算法的序号。5.一种资源文件的打包系统,其特征在于,包括: 第一模块,用于获取资源文件所在的目录,以及该目录下的所有资源文件; 第二模块,用于创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置; 第三模块,用于对第一模块中获取的每个资源文件进行加密操作,以生成加密后的资源文件; 第四模块,用于将加密后的每个资源文件写入第二模块创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、以及该资源文件写入最终打包文件的位置; 第五模块,用于将第四模块中生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。6.一种资源文件的解包方法,其特征在于,包括以下步骤: (1)对获取最终打包文件进行解压缩操作,并获取解压缩后的最终打包文件头部中所存储的资源文件的文件索引信息在该最终打包文件中的位置; (2)根据获取的文件索引信息读取每个资源文件,并根据文件索引信息中包括的加密算法对应的解密算法对该资源文件进行解密操作; (3)对于解密后的资源文件,根据文件索引信息中该资源文件的文件名生成对应的资源文件。7.一种资源文件的解包系统,其特征在于,包括: 第一模块,用于对获取最终打包文件进行解压缩操作,并获取解压缩后的最终打包文件头部中所存储的资源文件的文件索引信息在该最终打包文件中的位置; 第二模块,用于根据获取的文件索引信息读取每个资源文件,并根据文件索引信息中包括的加密算法对应的解密算法对该资源文件进行解密操作; 第三模块,用于对于解密后的资源文件,根据文件索引信息中该资源文件的文件名生成对应的资源文件。
【文档编号】G06F21/62GK106022014SQ201610320859
【公开日】2016年10月12日
【申请日】2016年5月16日
【发明人】周志刚
【申请人】武汉斗鱼网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1