在线客服

服务热线

联系我们:

0755-25636819

关注微信

返回顶部

全国服务热线

0755-25636819

当前位置: 首页 > 解决方案  > 针对java加密防止反编译的解决方案

针对java加密防止反编译的解决方案

2018-07-24 14650次


众所周知, java 开发语言提供了很方便的开发平台,开发出来的程序很容易在不同的平台上被移植,现在越来越多的人使用它来开发软件,与.net 语言并驾齐驱。

Java 有它方便的一面,同时也给开发者带来了一个不小的烦恼,就是保护程序代码变得困难,因为 java 语言编译和代码执行的特殊性,目前,除了 HASP 外,还没有一个更好的解决办法或保护方案,但如果不采取有力的措施,则自己辛辛苦苦开发出来的程序很容易被人复制而据为己有,一般情况下,大多数的人都是用混编器(java obfuscator)来把开发出来的程序进行打乱,以想达到防止反编译的目的,但是,这种方法在网上很容易找到相关的软件来重新整理,那么这个混编器工具也只能控制一些本来就没有办法的人,而对于稍懂工具的人几乎是透明的,没有任何意义。再说硬件加密锁,大多数厂商提供的加密锁只能进行 dll 的连接或简单的 api 调用,只要简单地反编译,就很容易把 api 去掉,这样加密锁根本起不了作用,那到底是否还有更好的解决办法呢?

HASP 加密锁提供的外壳加密工具中,有一个叫做数据加密的功能,这个功能可以很好的防止反编译而去掉 api 的调用,大家知道:硬件加密锁的保护原理就是让加密过的软件和硬件紧密地连接在一起,调用不会轻易地被剔除,这样才能持久地保护您的软件不被盗版,同时,这种方式使用起来非常简单,很容易被程序员掌握,要对一个软件实现保护,大约只需几分钟的时间就可以了,下面简单介绍一下它的原理:

运用 HASP 的外壳工具先把 java 解释器进行加密,那么,如果要启动这个解释器就需要有特定的加密锁存在,然后,再运用外壳工具中的数据加密功能把 java 程序(CLASS 或 JAR 包)当作一个数据文件来进行加密处理,生成新的 java 程序(CLASS 或 JAR 包),因为这个加密过程是在锁内完成的,并采用了 128 位的AES 算法,这样,加密后的 java 程序,无论你采用什么样的反编译工具,都是无法反编译出来的。 加密方式有两种: 1. 您的软件也只有被加密过的 java 解释器并有加密锁的情况下才能正常运行,如果没有加密锁,程序不能运行,从而达到真正保护您的软件的目的; 2. 直接加壳,就是把您编译好的 jar 包 war 包直接加壳,这种方式操作方便,几分钟之内就可以加密好,非常方便,但前提要求必须在 tomcat6.0 以上的版本,才可以。

是业界首款提供针对 Java 程序进行方法级外壳加密的产品。此款新的外壳提供高强度的安全性的同时,保留 Java 文件的结构,使得开发商保持 Java 原有优点, 并享受高级别的软件保护。另外, ToolBox 工具也对 Java 代码生成器进行了优化,使得开发者运行实时 API(runtime API)效率更高。

方案特点