一种源代码保护系统及源代码加密方法技术方案

技术编号:26304267 阅读:13 留言:0更新日期:2020-11-10 19:59
本发明专利技术公开了一种源代码保护系统,包括:加密模块,用于对接收的源代码进行加密;主控模块,用于分析源代码的泄露风险并对加密代码进行区分编号,得到编号加密代码;数据备份模块,用于接收并存储来源于主控模块的编号加密代码;调用模块,用于接收来源于主控模块或数据备份模块的编号加密代码,并根据调用需求修改编号加密代码;处理模块,用于接收主控系统的编号加密代码,并将其转换为可编写的加密代码;解码模块,用于将可编写的加密代码进行解密,得到明文数据。本发明专利技术还公开了一种源代码加密方法。本申请的系统和方法通过层层加密与混淆,降低了源代码泄露风险,提高源代码的安全。

【技术实现步骤摘要】
一种源代码保护系统及源代码加密方法
本专利技术涉及代码保护,具体涉及一种源代码保护系统及源代码加密方法。
技术介绍
源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写,例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写,较为复杂的软件,一般需要数十种甚至上百种的源代码的参与。为了降低种复杂度,必须引入一种可以描述各个源代码之间联系,并且如何正确编译的系统,如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件,自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法,但是现有的保护措施一般都是打乱代码执行流程,导致代码难以理解,难以破解,但随着反打乱技术的发展,单纯的打乱难以达到保护源代码的目的。
技术实现思路
专利技术目的:本申请的目的在于提供一种源代码保护系统,解决现有保护措施不到位的问题。技术方案:本专利技术提供了一种源代码保护系统,包括:加密模块,用于对接收的源代码进行加密,得到加密代码;主控模块,用于分析源代码的泄露风险并对加密代码进行区分编号,得到编号加密代码;数据备份模块,用于接收并存储来源于主控模块的编号加密代码;调用模块,用于接收来源于主控模块或数据备份模块的编号加密代码,并根据调用需求修改编号加密代码;处理模块,用于接收主控系统的编号加密代码,并将其转换为可编写的加密代码;解码模块,用于将可编写的加密代码进行解密,得到明文数据。作为对本申请的进一步限制,加密模块包括依次连接的获取单元、代码混淆单元、代码编译单元和替换单元;获取单元用于将接收的源代码进行特征提取;代码混淆单元用于对特征提取后的代码通过随机字符串进行代码混淆;代码编译模块用于根据不同需求对混淆后的代码进行不同代码语言的编译;替换单元用于通过随机字符串对编译后的代码进行替换得到加密后的源代码。作为对本申请的进一步限制,主控模块包括编号单元,编号单元根据接收顺序对编号加密代码进行编号。作为对本申请的进一步限制,数据备份模块包括反编译单元和二次加密单元;反编译单元用于接收并将来源于主控模块的编号加密代码进行反编译;二次加密单元用于将反编译后的代码进行再次加密后进行存储。作为对本申请的进一步限制,解码模块通过编程和密钥对加密代码进行解密。作为对本申请的进一步限制,调用模块对编号加密代码的修改包括删除目录或文件、删除目录或文件、修改文件信息或内容中的一者或多者。作为对本申请的进一步限制,系统还包括警报模块,警报模块根据主控模块对源代码泄露风险的判定结果进行报警。作为对本申请的进一步限制,主控模块通过分析用户的访问操作判断源代码泄露风险级别,并根据泄露风险级别向警报模块发送报警指令。作为对本申请的进一步限制,源代码可通过有限或无线的方式传输至加密模块中,加密模块通过有线或无线方式将加密代码传输至主控模块。本申请还提供了一种源代码加密方法,包括:对接收的源代码进行特征提取;对特征提取后的代码通过随机字符串进行代码混淆;根据不同需求对混淆后的代码进行不同代码语言的编译;通过随机字符串对编译后的代码进行替换得到加密后的源代码。有益效果:与现有技术相比,本申请的源代码保护系统将需要保护的源代码,通过无线区域网传输至源代码保护系统中,经过获取模块、代码混淆模块、代码编译模块,通过层层加密与混淆,形成加密密文,提高源代码的安全,降低了源代码被盗取的可能性。另外,调模块通过编程再次对密文进行改进增加或者删除,标号模块通过无线区域网接收系统调用模块传输的密文,对不同密文进行不同的编号,从而方便工作人员寻找,以此提高工作效率;主控模块通过无线区域网将密文传输至处理系统中,处理系统通过编程处理使得java运行时进行可以进行编写,从而方便工作人员进行修改密文,节省工作人员时间;解码模块通过接收处理系统的信号,通过编程与密钥对处理系统传输的密文进行解密,从而保证源代码的安全,且方便工作人员提取使用。附图说明图1为本申请的源代码保护系统的系统框图;图2为本申请的源代码加密方法的流程示意图。具体实施方式下面结合附图和实施例对本专利技术做进一步描述:本专利技术提供了一种源代码保护系统,如图1所示,包括:加密模块1、主控模块2、数据备份模块3、调用模块6、处理模块4、解码模块5及警报模块7。其中:加密模块1用于对接收的源代码进行加密,得到加密代码。具体地,加密模块1包括依次连接的获取单元11、代码混淆单元12、代码编译单元13和替换单元14。源代码通过无线或有线的方式输入至加密模块1,获取单元11用于将接收的源代码进行特征提取;代码混淆单元12用于对特征提取后的代码通过随机字符串进行代码混淆,生成对应的安全代码;代码编译模块13用于根据不同需求对混淆后的代码进行不同代码语言的编译;替换单元14用于通过随机字符串对编译后的代码进行替换得到加密后的源代码。经过上述单元的层层加密与混淆,得到源代码对应的加密后的源代码,提高源代码传输的安全性。主控模块2用于分析源代码的泄露风险并对加密代码进行区分编号,得到编号加密代码。具体地,主控模块2包括编号单元21,编号单元根据源代码的接收顺序对编号加密代码进行编号以便识别区分源代码。主控模块还可以通过分析用户的访问操作判断源代码泄露风险,可根据风险程度设定由低到高的风险级别。例如同一用户在固定的时间段内频繁越权访问源代码,或者在固定时间段内错误登录次数超出预先设定的次数,则可判定为为高风险。数据备份模块3用于接收并存储来源于主控模块的编号加密代码。主控模块的编号加密代码可通过有线或无线方式传输至数据备份模块3。具体地,数据备份模块包括二次加密单元31和反编译单元32。二次加密单元31用于将反编译后的代码通过编程进行再次加密,防止非法访问者提取;反编译单元32用于接收并将来源于主控模块的编号加密代码进行反编译,后进行存储。通过上述双重保护,提高源代码访问的安全性。处理模块4用于接收主控系统的编号加密代码,并将其转换为可编写的加密代码。具体地,处理系统4用于通过java运行进行编写,供用户需要进行编写时,方便用户进行编写修改加密代码。解码模块5用于将可编写的加密代码进行解密,得到明文数据。具体地,解码模块5可通过有线或无线方式接受来源于处理模块4的数据,通过编程和密钥对加密代码进行解密,在保证源代码安全的前提下,方便用户提取使用。调用模块6,用于接收来源于主控模块或数据备份模块的编号加密代码,并根据调用需求修改编号加密代码。具体地,调用模块对编号加密代码的修改包括删除目录或文件、删除目录或文件、修改文件信息或内容中的一者或多者。在本实施例中本文档来自技高网...

【技术保护点】
1.一种源代码保护系统,其特征在于,包括:/n加密模块,用于对接收的源代码进行加密,得到加密代码;/n主控模块,用于分析源代码的泄露风险并对所述加密代码进行区分编号,得到编号加密代码;/n数据备份模块,用于接收并存储来源于主控模块的编号加密代码;/n调用模块,用于接收来源于主控模块或数据备份模块的编号加密代码,并根据调用需求修改所述编号加密代码;/n处理模块,用于接收主控系统的编号加密代码,并将其转换为可编写的加密代码;/n解码模块,用于将所述可编写的加密代码进行解密,得到明文数据。/n

【技术特征摘要】
1.一种源代码保护系统,其特征在于,包括:
加密模块,用于对接收的源代码进行加密,得到加密代码;
主控模块,用于分析源代码的泄露风险并对所述加密代码进行区分编号,得到编号加密代码;
数据备份模块,用于接收并存储来源于主控模块的编号加密代码;
调用模块,用于接收来源于主控模块或数据备份模块的编号加密代码,并根据调用需求修改所述编号加密代码;
处理模块,用于接收主控系统的编号加密代码,并将其转换为可编写的加密代码;
解码模块,用于将所述可编写的加密代码进行解密,得到明文数据。


2.根据权利要求1所述的系统,其特征在于,所述加密模块包括依次连接的获取单元、代码混淆单元、代码编译单元和替换单元;
所述获取单元用于将接收的源代码进行特征提取;
所述代码混淆单元用于对特征提取后的代码通过随机字符串进行代码混淆;
所述代码编译模块用于根据不同需求对混淆后的代码进行不同代码语言的编译;
所述替换单元用于通过随机字符串对编译后的代码进行替换得到加密后的源代码。


3.根据权利要求1所述的系统,其特征在于,所述主控模块包括编号单元,所述编号单元根据接收顺序对所述编号加密代码进行编号。


4.根据权利要求1所述的系统,其特征在于,所述数据备份模块包括反编译单元...

【专利技术属性】
技术研发人员:曾纪钧龙震岳温柏坚沈伍强张小陆沈桂泉张金波梁哲恒
申请(专利权)人:广东电网有限责任公司
类型:发明
国别省市:广东;44

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

1