CN111914225A - 一种源代码保护系统及源代码加密方法 - Google Patents

一种源代码保护系统及源代码加密方法 Download PDF

Info

Publication number
CN111914225A
CN111914225A CN202010678162.6A CN202010678162A CN111914225A CN 111914225 A CN111914225 A CN 111914225A CN 202010678162 A CN202010678162 A CN 202010678162A CN 111914225 A CN111914225 A CN 111914225A
Authority
CN
China
Prior art keywords
code
module
source code
encryption
codes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010678162.6A
Other languages
English (en)
Other versions
CN111914225B (zh
Inventor
曾纪钧
龙震岳
温柏坚
沈伍强
张小陆
沈桂泉
张金波
梁哲恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Power Grid Co Ltd
Original Assignee
Guangdong Power Grid Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Power Grid Co Ltd filed Critical Guangdong Power Grid Co Ltd
Priority to CN202010678162.6A priority Critical patent/CN111914225B/zh
Publication of CN111914225A publication Critical patent/CN111914225A/zh
Application granted granted Critical
Publication of CN111914225B publication Critical patent/CN111914225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

一种源代码保护系统及源代码加密方法
技术领域
本发明涉及代码保护,具体涉及一种源代码保护系统及源代码加密方法。
背景技术
源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写,例如,一个程序如果有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,用于接收来源于主控模块或数据备份模块的编号加密代码,并根据调用需求修改编号加密代码。具体地,调用模块对编号加密代码的修改包括删除目录或文件、删除目录或文件、修改文件信息或内容中的一者或多者。
在本实施例中,警报模块7根据主控模块2对源代码泄露风险的判定结果进行报警。若源代码泄露风险级别为高,则主控模块2向所述警报模块7发送报警指令,控制警报模块7进行报警以便对用户进行高风险提示。
可选地,警报模块7可采用声音报警、光电报警灯、向终端发送信息等方式中的一种或多种来实现对用户的警示。
本申请还提供了一种源代码加密方法,如图2所示,包括:
S201对接收的源代码进行特征提取;
S202对特征提取后的代码通过随机字符串进行代码混淆;
S203根据不同需求对混淆后的代码进行不同代码语言的编译;
S204通过随机字符串对编译后的代码进行替换得到加密后的源代码。
经过上述方法的层层加密与混淆,得到源代码对应的加密后的源代码,提高源代码传输的安全性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

Claims (10)

1.一种源代码保护系统,其特征在于,包括:
加密模块,用于对接收的源代码进行加密,得到加密代码;
主控模块,用于分析源代码的泄露风险并对所述加密代码进行区分编号,得到编号加密代码;
数据备份模块,用于接收并存储来源于主控模块的编号加密代码;
调用模块,用于接收来源于主控模块或数据备份模块的编号加密代码,并根据调用需求修改所述编号加密代码;
处理模块,用于接收主控系统的编号加密代码,并将其转换为可编写的加密代码;
解码模块,用于将所述可编写的加密代码进行解密,得到明文数据。
2.根据权利要求1所述的系统,其特征在于,所述加密模块包括依次连接的获取单元、代码混淆单元、代码编译单元和替换单元;
所述获取单元用于将接收的源代码进行特征提取;
所述代码混淆单元用于对特征提取后的代码通过随机字符串进行代码混淆;
所述代码编译模块用于根据不同需求对混淆后的代码进行不同代码语言的编译;
所述替换单元用于通过随机字符串对编译后的代码进行替换得到加密后的源代码。
3.根据权利要求1所述的系统,其特征在于,所述主控模块包括编号单元,所述编号单元根据接收顺序对所述编号加密代码进行编号。
4.根据权利要求1所述的系统,其特征在于,所述数据备份模块包括反编译单元和二次加密单元;
所述反编译单元用于接收并将来源于所述主控模块的编号加密代码进行反编译;
所述二次加密单元用于将反编译后的代码进行再次加密后进行存储。
5.根据权利要求1所述的系统,其特征在于,所述解码模块通过编程和密钥对加密代码进行解密。
6.根据权利要求1所述的系统,其特征在于,所述调用模块对所述编号加密代码的修改包括删除目录或文件、删除目录或文件、修改文件信息或内容中的一者或多者。
7.根据权利要求1所述的系统,其特征在于,所述系统还包括警报模块,所述警报模块根据主控模块对源代码泄露风险的判定结果进行报警。
8.根据权利要求7所述的系统,其特征在于,所述主控模块通过分析用户的访问操作判断源代码泄露风险级别,并根据泄露风险级别向所述警报模块发送报警指令。
9.根据权利要求1所述的系统,其特征在于,所述加密模块通过有线或无线方式将所述加密代码传输至所述主控模块。
10.一种源代码加密方法,其特征在于,包括:
对接收的源代码进行特征提取;
对特征提取后的代码通过随机字符串进行代码混淆;
根据不同需求对混淆后的代码进行不同代码语言的编译;
通过随机字符串对编译后的代码进行替换得到加密后的源代码。
CN202010678162.6A 2020-07-15 2020-07-15 一种源代码保护系统及源代码加密方法 Active CN111914225B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010678162.6A CN111914225B (zh) 2020-07-15 2020-07-15 一种源代码保护系统及源代码加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010678162.6A CN111914225B (zh) 2020-07-15 2020-07-15 一种源代码保护系统及源代码加密方法

Publications (2)

Publication Number Publication Date
CN111914225A true CN111914225A (zh) 2020-11-10
CN111914225B CN111914225B (zh) 2024-03-19

Family

ID=73280938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010678162.6A Active CN111914225B (zh) 2020-07-15 2020-07-15 一种源代码保护系统及源代码加密方法

Country Status (1)

Country Link
CN (1) CN111914225B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039743A (zh) * 2021-09-27 2022-02-11 成都鲁易科技有限公司 数据的加密方法、装置、存储介质以及终端
CN114357488A (zh) * 2022-01-04 2022-04-15 深圳市智百威科技发展有限公司 一种数据加密系统及方法
CN114584300A (zh) * 2022-03-02 2022-06-03 中国科学院国家授时中心 一种用于双向授时的加解密方法及系统
CN117094022A (zh) * 2023-10-20 2023-11-21 山东友恺通信科技有限公司 一种基于计算机软件开发的加密系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462959A (zh) * 2014-12-04 2015-03-25 北京奇虎科技有限公司 一种安卓应用的加固保护方法、服务器和系统
CN106326693A (zh) * 2016-08-18 2017-01-11 广州优视网络科技有限公司 应用程序的代码混淆方法及装置
CN106709286A (zh) * 2016-11-30 2017-05-24 江苏神州信源系统工程有限公司 一种对apk资源包进行安全加固的方法
CN109740311A (zh) * 2019-01-07 2019-05-10 广州小鹏汽车科技有限公司 安卓应用的安全加固方法及装置
CN110069905A (zh) * 2019-04-26 2019-07-30 深圳智慧园区信息技术有限公司 一种Springboot程序加密和解密的装置及方法
CN110765425A (zh) * 2019-10-25 2020-02-07 杭州涂鸦信息技术有限公司 一种对ios应用程序源代码进行混淆保护的方法及系统
CN111177739A (zh) * 2019-10-28 2020-05-19 腾讯云计算(北京)有限责任公司 一种数据处理方法、信息交互系统及计算机存储介质
CN111240654A (zh) * 2020-01-03 2020-06-05 福建天晴在线互动科技有限公司 一种Python代码加固保护的方法及其系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462959A (zh) * 2014-12-04 2015-03-25 北京奇虎科技有限公司 一种安卓应用的加固保护方法、服务器和系统
CN106326693A (zh) * 2016-08-18 2017-01-11 广州优视网络科技有限公司 应用程序的代码混淆方法及装置
CN106709286A (zh) * 2016-11-30 2017-05-24 江苏神州信源系统工程有限公司 一种对apk资源包进行安全加固的方法
CN109740311A (zh) * 2019-01-07 2019-05-10 广州小鹏汽车科技有限公司 安卓应用的安全加固方法及装置
CN110069905A (zh) * 2019-04-26 2019-07-30 深圳智慧园区信息技术有限公司 一种Springboot程序加密和解密的装置及方法
CN110765425A (zh) * 2019-10-25 2020-02-07 杭州涂鸦信息技术有限公司 一种对ios应用程序源代码进行混淆保护的方法及系统
CN111177739A (zh) * 2019-10-28 2020-05-19 腾讯云计算(北京)有限责任公司 一种数据处理方法、信息交互系统及计算机存储介质
CN111240654A (zh) * 2020-01-03 2020-06-05 福建天晴在线互动科技有限公司 一种Python代码加固保护的方法及其系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039743A (zh) * 2021-09-27 2022-02-11 成都鲁易科技有限公司 数据的加密方法、装置、存储介质以及终端
CN114357488A (zh) * 2022-01-04 2022-04-15 深圳市智百威科技发展有限公司 一种数据加密系统及方法
CN114357488B (zh) * 2022-01-04 2022-09-16 深圳市智百威科技发展有限公司 一种数据加密系统及方法
CN114584300A (zh) * 2022-03-02 2022-06-03 中国科学院国家授时中心 一种用于双向授时的加解密方法及系统
CN114584300B (zh) * 2022-03-02 2024-02-02 中国科学院国家授时中心 一种用于双向授时的加解密方法及系统
CN117094022A (zh) * 2023-10-20 2023-11-21 山东友恺通信科技有限公司 一种基于计算机软件开发的加密系统
CN117094022B (zh) * 2023-10-20 2024-01-09 山东友恺通信科技有限公司 一种基于计算机软件开发的加密系统

Also Published As

Publication number Publication date
CN111914225B (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
CN111914225B (zh) 一种源代码保护系统及源代码加密方法
JP6257754B2 (ja) データの保護
CN102890758B (zh) 一种保护可执行文件的方法及系统
KR102433011B1 (ko) Apk 파일 보호 방법, 이를 수행하는 apk 파일 보호 시스템, 및 이를 저장하는 기록매체
KR101216995B1 (ko) 인덱스 테이블 기반 코드 암호화 및 복호화 장치 및 그 방법
CN101261666B (zh) 一种通过加密可执行程序文件实现软件版权保护的方法
CN105303073B (zh) 软件代码保护方法
CN106960156B (zh) 基于应用程序的数据加密及访问方法、装置
CN104318135A (zh) 一种基于可信执行环境的Java代码安全动态载入方法
CN113010856A (zh) 一种动态非对称加解密的JavaScript代码混淆方法与系统
CN106503494A (zh) 一种带有片上闪存微控制器的固件保护单元及保护方法
CN103475463A (zh) 加密实现方法及装置
CN111859415A (zh) 神经网络模型加密系统和方法
CN110825639B (zh) 一种防篡改时间的软件License验证方法
CN108898008B (zh) 应用程序的运行方法和装置
CN104506504A (zh) 一种无卡终端涉密信息的安全机制及安全装置
CN112100582A (zh) 一种应用强对称加密保护软件分发安全的方法
CN109740314A (zh) 一种swf混淆加密的方法
CN107257282B (zh) 一种基于rc4算法的代码全包加密方法
US20080127078A1 (en) Method and apparatus for preventing modulation of executable program
CN109992974A (zh) 虚拟机字节码文件的保护方法、设备及可读存储介质
CN112532379A (zh) 一种文件保护方法及装置
CN110457872B (zh) 一种Android App应用资源的隐藏加固方法
CN105335666A (zh) 一种防止电子文档外泄的方法
CN112311536B (zh) 密钥分级管理方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant