论坛首页 编程语言技术论坛

java真的无法加密么

浏览 13885 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-05-10  
elgs 写道
虽然我比较讨厌这种做法,但我倒是有一个思路。
1,对你的jar,class文件进行加密(对称加密jar,classes,非对称加密秘钥,同SSL);
2,扩展URLClassLoader,加在加密过的jar,class文件,解密,再构造你自己的Classloader;
这样只要你秘钥不丢失,就不可能被解密了。
但是我想说的是,现在竞争对手要抄袭你的东西,很少从源代码的层面抄袭了,一般都是从你的界面,功能。
我的个人看法。

人家已经说了,重写jdk中的defineClass即可。就是jdk是自己编译出来的。defineClass里面就是解密后的字节码。
0 请登录后投票
   发表时间:2013-05-10  
自己做一个JDK,不就解决了吗?:)
0 请登录后投票
   发表时间:2013-05-11  
vcok 写道
自己做一个JDK,不就解决了吗?:)

其实如果布署条件允许,可以拿jdk去做修改,这是可行的,砍掉一些jdk没用的功能,比如那些hook,但有两个问题:版权和布署
0 请登录后投票
   发表时间:2013-05-11  
别折腾,商业混淆即可
0 请登录后投票
   发表时间:2013-05-12   最后修改:2013-05-12
elgs 写道
虽然我比较讨厌这种做法,但我倒是有一个思路。
1,对你的jar,class文件进行加密(对称加密jar,classes,非对称加密秘钥,同SSL);
2,扩展URLClassLoader,加在加密过的jar,class文件,解密,再构造你自己的Classloader;
这样只要你秘钥不丢失,就不可能被解密了。
但是我想说的是,现在竞争对手要抄袭你的东西,很少从源代码的层面抄袭了,一般都是从你的界面,功能。
我的个人看法。



我也支持这个看法,谁还会去看你的代码啊。
看一下你的界面,功能,基本上就可以山寨一个出来了。
如果是一些复杂的关键算法,那估计才会有人去看。前提是自己仿出来的算法未达要求。

混淆一下就可以了。
0 请登录后投票
   发表时间:2013-05-12  
osacar 写道
elgs 写道
虽然我比较讨厌这种做法,但我倒是有一个思路。
1,对你的jar,class文件进行加密(对称加密jar,classes,非对称加密秘钥,同SSL);
2,扩展URLClassLoader,加在加密过的jar,class文件,解密,再构造你自己的Classloader;
这样只要你秘钥不丢失,就不可能被解密了。
但是我想说的是,现在竞争对手要抄袭你的东西,很少从源代码的层面抄袭了,一般都是从你的界面,功能。
我的个人看法。



我也支持这个看法,谁还会去看你的代码啊。
看一下你的界面,功能,基本上就可以山寨一个出来了。
如果是一些复杂的关键算法,那估计才会有人去看。前提是自己仿出来的算法未达要求。

混淆一下就可以了。


现在关键的东西好多都通过service形式提供,物理上隔离。说实话东西到了别人手里,想破解总会有办法。
0 请登录后投票
   发表时间:2013-05-13  
把java加密后,然后把jvm内核改掉,只能用你们提供的jvm来运行java,这样就达到加密了。
0 请登录后投票
   发表时间:2013-05-13  
MrLee23 写道
把java加密后,然后把jvm内核改掉,只能用你们提供的jvm来运行java,这样就达到加密了。

正解...哈哈哈
0 请登录后投票
   发表时间:2013-05-13  
http://cuishuangjia.iteye.com/blog/1867417#comments

请参照上面的工具,是我用JAVA做的,感觉这样弄的话,还能反编译吗???
0 请登录后投票
   发表时间:2013-05-14  
mathgl 写道
osacar 写道
elgs 写道
虽然我比较讨厌这种做法,但我倒是有一个思路。
1,对你的jar,class文件进行加密(对称加密jar,classes,非对称加密秘钥,同SSL);
2,扩展URLClassLoader,加在加密过的jar,class文件,解密,再构造你自己的Classloader;
这样只要你秘钥不丢失,就不可能被解密了。
但是我想说的是,现在竞争对手要抄袭你的东西,很少从源代码的层面抄袭了,一般都是从你的界面,功能。
我的个人看法。



我也支持这个看法,谁还会去看你的代码啊。
看一下你的界面,功能,基本上就可以山寨一个出来了。
如果是一些复杂的关键算法,那估计才会有人去看。前提是自己仿出来的算法未达要求。

混淆一下就可以了。


现在关键的东西好多都通过service形式提供,物理上隔离。说实话东西到了别人手里,想破解总会有办法。

+1
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics