如何防止class被反编译,保护我们的知识产权

11-02-10 flysnow3
众所周知,java编译后的class文件是一种中间字节字文件,

很容易被反编译工具反编译,而传统的java源代码保护方法基本都是采用混淆的方式,

但这样会带来很多麻烦,而且也不能真正保护class文件,

我采用jni技术定制classloader调用经过加密的class来动态解密,运行class文件。

class反编译工具对加密后的class文件就没办法再反编译为java文件了!

本贴提供一个免费的我写的class文件加密保护工具!程序文件见附件!

下面说说使用方法以及介绍:

运行方式:

运行时,要能正确的加载加密后的class文件,

必须使用我们提供的动态链接库classloader.dll(wndows操作系统)或者libclassloader.so(Linux、Unix操作系统)。

执行java时带上参数-agentlib:<动态文件所在路径>\classloader

注意此处不要后缀名.dll(或者.so)。

如:

我把classloader.dll放在C:\目录下;

运行加密后的class文件命令如下:

windows下执行java:

java -agentlib:C:\classloader Sample

Linux、Unix等系列操作系统下执行java:

java -agentlib:/home/classloader Sample

当然如果class文件没加密,这样运行也不会出错!

应用场合:

独立的应用程序,运行java时,带上参数-agentlib:<动态库文件所在路径>\classloader

Tomcat、Jboss等Java application server修改启动脚本,

把执行java的命令行后面加上参数-agentlib:<动态链接库文件所在路径>\classloader

适应环境:

操作系统:所有操作系统,Windows系统、Linux/Unix,只是运行时,

使用的动态链接库文件不一样而已,其它配置完全一样。

jdk必须1.5以上。

下载地址:

java class加密保护

软件截图:

              

1
ACoder
2011-02-11 14:18
java的活力在于开源,一定要死守着自己的代码的结果必定是死路一条。

ma307273659
2011-02-12 21:27
你这是和 开源背道 而行

[该贴被ma307273659于2011-02-12 21:28修改过]

xiaosanaiq
2011-02-15 16:38
我如果把classloader 给xx了呢?。。。

猜你喜欢