论坛首页 综合技术论坛

怎样防止反编译

浏览 15131 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-01-04  

我写了个swing桌面软件,客户表示卖的越多给我的分成越多。


那我怎样那能防止jar不被反编译,而且,我怎么确定他卖了多少份??

   发表时间:2012-01-05  
没有绝对的加密。可以使用混淆器来进行一些约束,防止反编译。但是任何防御,只要有心,就能破解。目前比较安全的是硬加密猫,只要认证部分代码不被破译,就没有问题。
建议还是在合同方面加强一些比较好,找个好律师帮你做合同。规范好对方的义务。
1 请登录后投票
   发表时间:2012-01-13  
分发注册码。通过自己的数据库进行控制。
0 请登录后投票
   发表时间:2012-01-13  
加密狗(应该是对产生的类文件进行加密)
0 请登录后投票
   发表时间:2012-01-13  
添加混淆器是比较不错的想法

另外,可以通过本地验证+服务器验证,控制license
0 请登录后投票
   发表时间:2012-01-13  
我觉得没必要加密,公司卖软件有版权就好,大部分买的还是服务
0 请登录后投票
   发表时间:2012-01-13   最后修改:2012-01-13
通过重写classloader类,java本身是支持代码加密保护的,经加密的代码无法反编译,除非你密钥泄露,或你选的加密算法不够安全。加密算法由你自己决定,没有你的classloader任何机器都没有办法运行你的软件,目前很多公司的加密狗事实上就是一个classloader类,你只需要控制classloader就可以了。目前网上有太多这方面的资料了,自己找找吧。
0 请登录后投票
   发表时间:2012-01-13  
gch_h 写道
通过重写classloader类,java本身是支持代码加密保护的,经加密的代码无法反编译,除非你密钥泄露,或你选的加密算法不够安全。加密算法由你自己决定,没有你的classloader任何机器都没有办法运行你的软件,目前很多公司的加密狗事实上就是一个classloader类,你只需要控制classloader就可以了。目前网上有太多这方面的资料了,自己找找吧。

请问,如果我用netbeans 以调试方式运行openjdk,启动这个java程序,能得到解密以后的class吗?
0 请登录后投票
   发表时间:2012-01-13  
用混淆器应该足够了,去看看ProGuard吧。
0 请登录后投票
   发表时间:2012-01-14  
只要有心,任何加密都没有用。
混淆,重写classloader都不能解决问题。

因为你的class字节码,是一定要让JVM认识的,而JVM是人写的。

或者自己重写部分JVM,说不定可行。但还是可以破解的。
0 请登录后投票
论坛首页 综合技术版

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