一种源码保护的方法、装置、电子设备和存储介质制造方法及图纸

技术编号:35051895 阅读:27 留言:0更新日期:2022-09-28 10:54
本申请公开了一种源码保护方法、装置、电子设备和存储介质。所述方法包括:创建用于存放源码文件的数据包,所述数据包中设有第一存储区域和第二存储区域;读取源码文件的文件属性,生成所述源码文件的文件头信息;读取所述源码文件的文件内容,对所述文件内容进行加密,生成所述源码文件的文件体信息;将所述文件头信息和所述文件体信息合并后写入所述第二存储区域中;将所述源码文件在所述第二存储区域中的调用信息写入第一存储区域的索引信息中。本申请所公开的技术方案,能够解决现有技术中无法对源码文件进行有效保护的问题。技术中无法对源码文件进行有效保护的问题。技术中无法对源码文件进行有效保护的问题。

【技术实现步骤摘要】
一种源码保护的方法、装置、电子设备和存储介质


[0001]本申请涉及源码保护领域,尤其涉及一种源码保护的方法、装置、电子设备和存储介质。

技术介绍

[0002]现代的商业软件开发项目规模越来越大,逻辑越来越复杂,为了更快的推向市场产生效益,大多都采用多种开发语言混合编程的开发方式,尽可能的利用不同开发语言的优势。比如现在就流行编译型语言(例如C、C++等)与脚本型语言(Lua、JavaScript、Python等)混合开发的模式。脚本型语言的优点是开发速度快,开发人员门槛低,缺点是脚本语言普遍缺少保护措施,软件发布时基本都是明文,或者只是简单的混淆,容易被破解。

技术实现思路

[0003]本申请实施例提供了源码保护的方法和装置,以实现源码的保护。
[0004]本申请实施例采用下述技术方案:
[0005]第一方面,本申请实施例提供一种源码保护方法,该方法包括:
[0006]创建用于存放源码文件的数据包,所述数据包中设有第一存储区域和第二存储区域;
[0007]读取源码文件的文件属性,生成所述源码文件的文件头信息;
[0008]读取所述源码文件的文件内容,对所述文件内容进行加密,生成所述源码文件的文件体信息;
[0009]将所述文件头信息和所述文件体信息合并后写入所述第二存储区域中;
[0010]将所述源码文件在所述第二存储区域中的调用信息写入第一存储区域的索引信息中。
[0011]可选的,所述读取源码文件的文件属性,生成所述源码文件的文件头信息包括:
[0012]读取源码文件的文件属性,获取所述源码文件的文件名信息、文件体定位信息和加密信息;
[0013]根据预设的文件头存储结构,将所述源码文件的文件名信息、文件体定位信息和加密信息写入所述源码文件的文件头信息中。
[0014]可选的,所述读取所述源码文件的文件内容,对所述文件内容进行加密,生成所述源码文件的文件体信息包括:
[0015]读取所述源码文件的文件内容,根据预设的对称加密算法进行加密,生成所述源码文件的文件体信息。
[0016]可选的,该方法进一步包括:
[0017]遍历源码文件所在的目录,依次读取各个源码文件;
[0018]所述将所述文件头信息和所述文件体信息合并后写入所述第二存储区域中包括:
[0019]根据读取的顺序,将各源码文件的文件头信息和所述文件体信息合并后依次写入
所述第二存储区域中。
[0020]可选的,所述将所述源码文件在所述第二存储区域中的调用信息写入第一存储区域的索引信息中包括:
[0021]将所述源码文件的文件名信息和文件体定位信息写入所述第一存储区域的索引信息中;
[0022]进一步包括:将所述源码文件的校验信息写入所述索引信息中。
[0023]可选的,该方法进一步包括:
[0024]读取所述数据包,根据所述数据包的第一存储区域中的索引信息,获取待加载的源码文件的文件名信息和文件体定位信息;
[0025]根据所述源码文件的文件名信息和文件体定位信息,从所述第二存储区域中获取所述源码文件的文件头信息和文件体信息;
[0026]根据预设的文件头存储结构,从所述文件头信息中解析获得所述源码文件的文件属性;
[0027]根据预设的对称加密算法,对所述文件体信息进行解密得到所述源码文件的文件内容;
[0028]根据所述文件属性和文件内容得到对应的源码文件。
[0029]可选的,该方法进一步包括:
[0030]通过预设的应用程序编程接口,从内存中读取解密之后得到的源码文件。
[0031]第二方面,本申请实施例还提供一种源码保护装置,该装置包括:
[0032]创建单元,用于创建用于存放源码文件的数据包,所述数据包中设有第一存储区域和第二存储区域;
[0033]处理单元,用于读取源码文件的文件属性,生成所述源码文件的文件头信息;读取所述源码文件的文件内容,对所述文件内容进行加密,生成所述源码文件的文件体信息;
[0034]输出单元,将所述文件头信息和所述文件体信息合并后写入所述第二存储区域中;将所述源码文件在所述第二存储区域中的调用信息写入第一存储区域的索引信息中。
[0035]可选的,所述处理单元,用于读取源码文件的文件属性,获取所述源码文件的文件名信息、文件体定位信息和加密信息;
[0036]根据预设的文件头存储结构,将所述源码文件的文件名信息、文件体定位信息和加密信息写入所述源码文件的文件头信息中。
[0037]可选的,所述处理单元,用于读取所述源码文件的文件内容,根据预设的对称加密算法进行加密,生成所述源码文件的文件体信息。
[0038]可选的,所述处理单元,用于遍历源码文件所在的目录,依次读取各个源码文件;
[0039]所述将所述文件头信息和所述文件体信息合并后写入所述第二存储区域中包括:
[0040]根据读取的顺序,将各源码文件的文件头信息和所述文件体信息合并后依次写入所述第二存储区域中。
[0041]可选的,所述输出单元,用于将所述源码文件的文件名信息和文件体定位信息写入所述第一存储区域的索引信息中;进一步用于,将所述源码文件的校验信息写入所述索引信息中。
[0042]可选的,所述处理单元,用于读取所述数据包,根据所述数据包的第一存储区域中
的索引信息,获取待加载的源码文件的文件名信息和文件体定位信息;根据所述源码文件的文件名信息和文件体定位信息,从所述第二存储区域中获取所述源码文件的文件头信息和文件体信息;根据预设的文件头存储结构,从所述文件头信息中解析获得所述源码文件的文件属性;根据预设的对称加密算法,对所述文件体信息进行解密得到所述源码文件的文件内容;根据所述文件属性和文件内容得到对应的源码文件。
[0043]可选的,所述处理单元,用于通过预设的应用程序编程接口,从内存中读取解密之后得到的源码文件。
[0044]第三方面,本申请实施例还提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上任一所述的数据清理方法。
[0045]第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行如上任一所述的数据清理方法。
[0046]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请中通过设置数据包,在数据包的第一区域中存储索引信息,第二存储区域中来存储全部的加密后源码文件,将多个源码文件打包成一个数据包,不仅便于传输以及发布,也能增加破解的难度,降低被破解的概率。并且,本申请公开的技术方案适合各种编程语言编写的源码文件,易用易扩展。所采用的加密算法可以根据实际需求进行选择,具有极高的私密性和安全性。并且生成的数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种源码保护方法,其中,所述方法包括:创建用于存放源码文件的数据包,所述数据包中设有第一存储区域和第二存储区域;读取源码文件的文件属性,生成所述源码文件的文件头信息;读取所述源码文件的文件内容,对所述文件内容进行加密,生成所述源码文件的文件体信息;将所述文件头信息和所述文件体信息合并后写入所述第二存储区域中;将所述源码文件在所述第二存储区域中的调用信息写入第一存储区域的索引信息中。2.如权利要求1所述方法,其中,所述读取源码文件的文件属性,生成所述源码文件的文件头信息包括:读取源码文件的文件属性,获取所述源码文件的文件名信息、文件体定位信息和加密信息;根据预设的文件头存储结构,将所述源码文件的文件名信息、文件体定位信息和加密信息写入所述源码文件的文件头信息中。3.如权利要求1所述方法,其中,所述读取所述源码文件的文件内容,对所述文件内容进行加密,生成所述源码文件的文件体信息包括:读取所述源码文件的文件内容,根据预设的对称加密算法进行加密,生成所述源码文件的文件体信息。4.如权利要求2所述方法,其中,该方法进一步包括:遍历源码文件所在的目录,依次读取各个源码文件;所述将所述文件头信息和所述文件体信息合并后写入所述第二存储区域中包括:根据读取的顺序,将各源码文件的文件头信息和所述文件体信息合并后依次写入所述第二存储区域中。5.如权利要求4所述方法,其中,所述将所述源码文件在所述第二存储区域中的调用信息写入第一存储区域的索引信息中包括:将所述源码文件的文件名信息和文件体定位信息写入所述第一存储区域的索引信息中;进一步包括:将所述源码文件的校验信息写入所...

【专利技术属性】
技术研发人员:刘超吕明伟
申请(专利权)人:北京新媒传信科技有限公司
类型:发明
国别省市:

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

1