[发明专利]源代码保护方法、应用服务器及计算机可读存储介质有效
申请号: | 201710914956.6 | 申请日: | 2017-09-30 |
公开(公告)号: | CN108399319B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 熊星 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 深圳市沃德知识产权代理事务所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 保护 方法 应用 服务器 计算机 可读 存储 介质 | ||
本发明公开了一种源代码保护方法,所述方法包括:接收用户输入的代码加密程序,并利用所述代码加密程序对所述源代码进行加密,得到加密后的文件;获取JDK,并利用相应于所述代码加密程序的代码解密程序对所述JDK进行处理,得到处理后的JDK;运行所述处理后的JDK;及通过所述处理后的JDK调取所述加密后的文件并进行解密。本发明还提供一种应用服务器。本发明提供的源代码保护方法及应用服务器,能够有效地阻止源文件被反编译,保证了源文件的安全性,同时保持了程序的跨平台特性,提高用户的体验。
技术领域
本发明涉及通信技术领域,尤其涉及一种源代码保护方法、应用服务器及计算机可读存储介质。
背景技术
Java语言能够跨平台,是因为Java源代码被编译器翻译成了类文件,而类文件作为中间代码是以一种和平台无关的格式保存的。类文件有一个缺点,就是可以利用JDK中的反汇编器对类文件进行反汇编,然后再利用反编译工具对反汇编的结果进行反编译,得出该类的源代码。这对需要防止Java源代码被剽窃或攻击的程序员来说是非常不利的。
现有类文件保护的方法主要有如下几种:字节码混淆技术、加载器加密技术、本地编译技术、字节码水印技术。
字节码混淆技术是利用混淆器工具防范反编译器的编译,其目的是使反编译程序难以理解类程序,以至于逆向工程将花费更多的时间和精力来翻译类文件,大部分混淆器工具打乱在字节码文件中的标识符,一个有意义的名字用顺序或随机产生的毫无意义的名字代替。但这种技术只是做到了表面上的模糊,其内部业务逻辑却依然不变,如果破解者有耐心,仍是可以攻破的。
加载器加密技术首先采用一定的加密算法加密类文件,再将此类文件传输到目的主机,然后用特定的自定义类加载器加载并解析加密的类文件。但因为class loader本身也是java写的,自身又不能加密,所以别人只要反编译你的class loader就能轻易拿到你的解密方法。
本地编译技术是指将Java应用程序编译成本地应用程序,将文字码程序转换成本地二进制文件,不仅可提高程序运行速度、占用更少的内存,还可使其安全性达到本地可执行应用程序的程度。但这种技术使应用程序失去了跨平台的特征,并且由于本地编译器的不成熟,不适应于大型应用程序。
字节码水印技术与在图片声音中嵌入水印一样,在Java程序中也能嵌入透明的、安全的和鲁棒性的信息,能够在确认某些程序是否属于剽窃时提供有效的证据,但不能阻止类文件被重用或者被反编译。
发明内容
有鉴于此,本发明提出一种源代码保护方法及应用服务器,有效地阻止了源文件被反编译,保证了源文件的安全性,同时保持了程序的跨平台特性,提高用户的体验。
首先,为实现上述目的,本发明提出一种应用服务器,所述应用服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的源代码保护程序,所述源代码保护程序被所述处理器执行时实现如下步骤:
接收用户输入的代码加密程序,并利用所述代码加密程序对所述源代码进行加密,得到加密后的文件;
获取JDK,并利用相应于所述代码加密程序的代码解密程序对所述JDK进行处理,得到处理后的JDK;
运行所述处理后的JDK;及
通过所述处理后的JDK调取所述加密后的文件并进行解密。
可选地,所述利用相应于所述代码加密程序的代码解密程序对所述JDK进行处理的步骤,具体包括:
解析JDK,获取所述JDK的文件处理代码程序;
在所述文件处理代码程序之前插入加密判断程序,所述加密判断程序用于判断所述JDK调取的文件是否经过加密;及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710914956.6/2.html,转载请声明来源钻瓜专利网。