锁定老帖子 主题:怎样防止反编译
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-01-04
我写了个swing桌面软件,客户表示卖的越多给我的分成越多。 那我怎样那能防止jar不被反编译,而且,我怎么确定他卖了多少份?? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-01-05
没有绝对的加密。可以使用混淆器来进行一些约束,防止反编译。但是任何防御,只要有心,就能破解。目前比较安全的是硬加密猫,只要认证部分代码不被破译,就没有问题。
建议还是在合同方面加强一些比较好,找个好律师帮你做合同。规范好对方的义务。 |
|
返回顶楼 | |
发表时间:2012-01-13
分发注册码。通过自己的数据库进行控制。
|
|
返回顶楼 | |
发表时间:2012-01-13
加密狗(应该是对产生的类文件进行加密)
|
|
返回顶楼 | |
发表时间:2012-01-13
添加混淆器是比较不错的想法
另外,可以通过本地验证+服务器验证,控制license |
|
返回顶楼 | |
发表时间:2012-01-13
我觉得没必要加密,公司卖软件有版权就好,大部分买的还是服务
|
|
返回顶楼 | |
发表时间:2012-01-13
最后修改:2012-01-13
通过重写classloader类,java本身是支持代码加密保护的,经加密的代码无法反编译,除非你密钥泄露,或你选的加密算法不够安全。加密算法由你自己决定,没有你的classloader任何机器都没有办法运行你的软件,目前很多公司的加密狗事实上就是一个classloader类,你只需要控制classloader就可以了。目前网上有太多这方面的资料了,自己找找吧。
|
|
返回顶楼 | |
发表时间:2012-01-13
gch_h 写道 通过重写classloader类,java本身是支持代码加密保护的,经加密的代码无法反编译,除非你密钥泄露,或你选的加密算法不够安全。加密算法由你自己决定,没有你的classloader任何机器都没有办法运行你的软件,目前很多公司的加密狗事实上就是一个classloader类,你只需要控制classloader就可以了。目前网上有太多这方面的资料了,自己找找吧。
请问,如果我用netbeans 以调试方式运行openjdk,启动这个java程序,能得到解密以后的class吗? |
|
返回顶楼 | |
发表时间:2012-01-13
用混淆器应该足够了,去看看ProGuard吧。
|
|
返回顶楼 | |
发表时间:2012-01-14
只要有心,任何加密都没有用。
混淆,重写classloader都不能解决问题。 因为你的class字节码,是一定要让JVM认识的,而JVM是人写的。 或者自己重写部分JVM,说不定可行。但还是可以破解的。 |
|
返回顶楼 | |