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

技术编号:13889125 阅读:73 留言:0更新日期:2016-10-24 03:38
本发明专利技术公开了一种资源文件的打包方法,包括:获取资源文件所在的目录,以及该目录下的所有资源文件,创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置,对获取的每个资源文件进行加密操作,以生成加密后的资源文件,将加密后的每个资源文件写入创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、以及该资源文件写入最终打包文件的位置,将生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。本发明专利技术能够解决现有资源文件容易被非法第三方用户获取并破解的技术问题。

【技术实现步骤摘要】

本专利技术属于文件加解密
,更具体地,涉及一种资源文件的打包方法和解包方法
技术介绍
目前,直播软件有自带美颜功能,美颜功能则是通过编写显卡shader资源文件实现的,shader是一段在显卡的GPU上执行的程序。由于Shader程序是保存在磁盘上的文本文件,相当于是开源的程序,其随直播软件一起发布,因此第三方很轻易的就能够拿到shader文件并直接使用,更有甚者,一些非法的第三方会对获取的shader文件进行破解,从而损害了直播软件所有者的权益。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种资源文件的打包方法和解包方法,其目的在于,解决现有资源文件容易被非法第三方用户获取并破解的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种资源文件的打包方法,其特征在于,包括以下步骤:(1)获取资源文件所在的目录,以及该目录下的所有资源文件;(2)创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置;(3)对步骤(1)中获取的每个资源文件进行加密操作,以生成加密后的资源文件;(4)将加密后的每个资源文件写入步骤(2)创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、以及该资源文件写入最终打包文件的位置;(5)将步骤(4)中生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。优选地,资源文件是GPU中执行的Shader文件。优选地,针对所有的资源文件所采用的加密算法是相同的。优选地,对所有的资源文件所采用的加密算法是不同的,文件索引信息还用于记录使用的加密算法所对应的解密算法的序号。按照本专利技术的另一方面,提供了一种资源文件的打包系统,包括:第一模块,用于获取资源文件所在的目录,以及该目录下的所有资源文件;第二模块,用于创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置;第三模块,用于对第一模块中获取的每个资源文件进行加密操作,以生成加密后的资源文件;第四模块,用于将加密后的每个资源文件写入第二模块创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、以及该资源文件写入最终打包文件的位置;第五模块,用于将第四模块中生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。按照本专利技术的另一方面,提供了一种资源文件的解包方法,包括以下步骤:(1)对获取最终打包文件进行解压缩操作,并获取解压缩后的最终打
包文件头部中所存储的资源文件的文件索引信息在该最终打包文件中的位置;(2)根据获取的文件索引信息读取每个资源文件,并根据文件索引信息中包括的加密算法对应的解密算法对该资源文件进行解密操作;(3)对于解密后的资源文件,根据文件索引信息中该资源文件的文件名生成对应的资源文件。按照本专利技术的另一方面,提供了一种资源文件的解包系统,包括:第一模块,用于对获取最终打包文件进行解压缩操作,并获取解压缩后的最终打包文件头部中所存储的资源文件的文件索引信息在该最终打包文件中的位置;第二模块,用于根据获取的文件索引信息读取每个资源文件,并根据文件索引信息中包括的加密算法对应的解密算法对该资源文件进行解密操作;第三模块,用于对于解密后的资源文件,根据文件索引信息中该资源文件的文件名生成对应的资源文件。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:1、本专利技术能够通过加解密的打包操作对资源文件进行保护,从而可以防止非法第三方轻易获取并破解该资源文件,损害直播软件所有者的权益;2、由于本专利技术加密过程对最终打包文件进行了压缩存储操作,因此减少了对于磁盘的占用,并且供用户下载的最终打包文件占用较少下载流量,为用户增加了使用性。附图说明图1是本专利技术资源文件的打包方法的流程图;图2是本专利技术资源文件的解包方法的流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。针对现有资源处理方法的改进,此专利技术提供了一种资源文件的打包方法和解包方法,其将多个shader文件打包成一个独立文件,并对各个shader使用独立的加密方法,最终对整个文件再进行一次加密和压缩。此方法采用在最终的打包文件头写入文件索引的偏移,然后写入每个独立的文件内容,再在文件末尾写入文件列表索引(记录每个文件在打包文件中的偏移和大小和文件名及加密算法序号)。在使用打包文件时,先读取打包文件后,再读取文件列表索引信息,最后解密得到每个独立的文件。如图1所示,本专利技术资源文件的打包方法包括以下步骤:(1)获取资源文件所在的目录,以及该目录下的所有资源文件;在本专利技术中,资源文件是GPU中执行的Shader文件,应该理解本专利技术并不局限于shader文件,其他类型的资源文件,比如txt、XML、JPEG、Doc、Excel类型的文件,也均落入本专利技术的保护范围中;(2)创建一个最终打包文件,该最终打包文件预留有头部,用于存储该资源文件的文件索引信息在该最终打包文件中的位置(即偏移量),该文件索引信息用于记录每个资源文件的文件名、文件大小、以及后续使用的加密算法所对应的解密算法的序号;(3)对步骤(1)中获取的每个资源文件进行加密操作,以生成加密后的资源文件;在本实施方式中,加密操作所使用的算法可以是数据加密标准(Data Encryption Standard,简称DES)、高级加密标准(Advanced Encryption Standard,简称AES)等;应该注意的是,本专利技术中,可以针对不同的资源文件使用不同的加密
算法(比如,如果针对十个资源文件,使用了十种不同的加密算法,则每个加密算法会有一个对应的加密算法序号),也可以针对不同的资源文件使用相同的加密算法;(4)将加密后的每个资源文件写入步骤(2)创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、该资源文件写入最终打包文件的位置、以及使用的加密算法所对应的解密算法的序号;(5)将步骤(4)中生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。如图2所示,本专利技术资源文件的解包方法包括以下步骤:(1)对获取最终打包文件进行解压缩操作,并获取解压缩后的最终打包文件头部中所存储的资源文件的文件索引信息在该最终打包文件中的位置;(2)根据获取的文件索引信息读取每个资源文件,并根据文件索引信息中包括的加密算法对应的解密算法对该资源文件进行解密操作;(3)对于解密后的资源文件,根据文件索引信息中该资源文件的文件名生成对应的资源文件。本领域的技术人员容易理解,以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和改进等,本文档来自技高网
...

【技术保护点】
一种资源文件的打包方法,其特征在于,包括以下步骤:(1)获取资源文件所在的目录,以及该目录下的所有资源文件;(2)创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置;(3)对步骤(1)中获取的每个资源文件进行加密操作,以生成加密后的资源文件;(4)将加密后的每个资源文件写入步骤(2)创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、以及该资源文件写入最终打包文件的位置;(5)将步骤(4)中生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。

【技术特征摘要】
1.一种资源文件的打包方法,其特征在于,包括以下步骤:(1)获取资源文件所在的目录,以及该目录下的所有资源文件;(2)创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置;(3)对步骤(1)中获取的每个资源文件进行加密操作,以生成加密后的资源文件;(4)将加密后的每个资源文件写入步骤(2)创建的最终打包文件中,并为每个加密后的资源文件生成一个对应的文件索引信息,该文件索引信息包括该资源文件的大小、该资源文件的文件名、以及该资源文件写入最终打包文件的位置;(5)将步骤(4)中生成的文件索引信息写入最终打包文件中,并对最终打包文件进行压缩存储。2.根据权利要求1所述的打包方法,其特征在于,资源文件是GPU中执行的Shader文件。3.根据权利要求1所述的打包方法,其特征在于,针对所有的资源文件所采用的加密算法是相同的。4.根据权利要求1所述的打包方法,其特征在于,对所有的资源文件所采用的加密算法是不同的,文件索引信息还用于记录使用的加密算法所对应的解密算法的序号。5.一种资源文件的打包系统,其特征在于,包括:第一模块,用于获取资源文件所在的目录,以及该目录下的所有资源文件;第二模块,用于创建一个最终打包文件,该最终打包文件预留有头部,用于存储资源文件的文件索引信息在该最终打包文件中的位置;第三模块,用于对...

【专利技术属性】
技术研发人员:周志刚
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1