日期:2014-05-17  浏览次数:20628 次

class文件的加密
我的需求是这样
发布给用户的是一个java工程
里面有一个包,包里有多个不能让用户查看的class文件(不能让用户轻易反编译获取源码)
现在想通过加密/混淆技术进行处理,但是,如果把这些class文件加密后,这个工程在调用这个包时想必是会出问题的。不知道有方法解决呢???
class 加密 java

------解决方案--------------------
有专门的class混淆器 大部分是收费的
jbuilder自带混淆器 
------解决方案--------------------
proguard混淆效果还行

加密基本不靠谱,大部分是通过定制classloader,而必然在代码里有解密过程,真想看到源码,只需找到classloader对应的解密过程即可
------解决方案--------------------
1、将代码使用混淆器混淆一下,但是如果仅仅只是混淆的话,高手还是能够看得懂的,所以还需要做下面的
2、自己开发一个类加载器,对二进制码进行一下加密,加密部分使用c之类的语言开发,通过jni进行调用,这样class是没有办法反编译的。

这样两种方法并用的话,想反编译那是非常难的。
------解决方案--------------------
proguard +1

我们公司就用的这个,可以跟ant结合的,
自己在脚本里面配置哪些类名字不混淆或者哪些类的field不混淆之类的,
分的很细
下载了里面有个说明的我记得,自己查查呗
------解决方案--------------------
自己实现ClassLoader加载你加密过的Class就可以了.