java项目核心源代码加密方法

白羊999 2012-04-19 10:05:56
我公司给第三方的一个项目现已开发完成,在交付时想对其中的核心代码部分进行加密,不让第三方看到。

我考虑了2种方案,但都不行,方案是:

1. 源代码混淆方法;

此方法虽可对源码进行混淆,但混淆的部分是核心代码,我将核心代码从项目中抽离做成了一个Jar包;
这样在使用此Jar包时,由于混淆后的代码已不是原来的,所以项目其他部分引用时会找不到相关类和方法。

2. 使用RSA加密方法对.class文件加密;

这是利用JVM装载类机制实现加密解密,需要重写loadClass方法,使其变成解密器,RSA的密钥进行解密,
但是由于源码需要交付第三方,所以这个解密器也会交付给他们,这样一来就等于告诉他们密钥和解密器
是什么了。也就等于没有加密。

请问题我该怎样加密我的核心代码,不让第三方轻易得知,而又能比较放心的交给他们?
谢谢各位!
...全文
28226 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
viewweb 2013-07-26
  • 打赏
  • 举报
回复
可以采用dll底层加密,直接加密class文件,然后在dll中对加密的class文件进行解密
luck512913459 2013-04-25
  • 打赏
  • 举报
回复
很想了解.............................
planet990 2012-07-09
  • 打赏
  • 举报
回复
使用加密狗进行加密jar,但是要给加密狗人家。
白羊999 2012-04-19
  • 打赏
  • 举报
回复
还有一种思路不知道可不可行?大家给点意见

如果我把打包好的 Jar 文件直接加密,然后放到 Java 的工程项目中使用,
这样就能达到保护源代码的目的了。

你们说这样可行吗?
minxiaohui1 2012-04-19
  • 打赏
  • 举报
回复
源码加密,第一次碰到,也想多了解了解。
Exc_9521 2012-04-19
  • 打赏
  • 举报
回复
打成jar包 用混淆器 进行混淆 以前弄过 其实你直接给jar包 就可以了 如果是app项目你给war包就ok 了就算他进行反编译class 文件 Java没了注释 看起来很吃力 这还不如自己直接开发好的很
zilin110 2012-04-19
  • 打赏
  • 举报
回复
现在这东西不好弄啊.人家有反编译工具.一下代码就出来了
白羊999 2012-04-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

加密class文件,然后做成jar包,项目引用jar包就行了……
[/Quote]

加密class文件后Jvm如果要装载类,就需要解密,而解密器包含在源代码中,需要一起交付出来,那样就算我费力做了加密,人家用解密器一下就解密出来了
a312983516 2012-04-19
  • 打赏
  • 举报
回复
网上好多工具的 你可以试试看(我没试过)

其中一个网址:http://down.chinaz.com/soft/29185.htm

还有好多 百度一搜java class加密
dinghang_china 2012-04-19
  • 打赏
  • 举报
回复
加密class文件,然后做成jar包,项目引用jar包就行了……
zuxianghuang 2012-04-19
  • 打赏
  • 举报
回复
,没搞过这种,到java社区看看
walkman_22 2012-04-19
  • 打赏
  • 举报
回复
感觉没什么必要,在没有项目文档的时候。
ollim 2012-04-19
  • 打赏
  • 举报
回复
你这思路不行 没用的 以前bea weblogic 就是这个思路加密的 破解补丁一堆一堆
你看看破解补丁怎么用的 你就知道你这个思路的问题了

java想加密 还是 结构复杂+混淆
cseu 2012-04-19
  • 打赏
  • 举报
回复
不管用什么方法,只是增加了别人查看源代码的难度,不能完全做到保密。
保留核心代码的接口不变,把其他实现进行混淆。

67,536

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧