如何有效的给一个 Java Web 程序加上 licence?

2017-02-17 07:38:40 +08:00
 paranoiagu
稍微强一点,不要最简单的反编译就搞定的。
3586 次点击
所在节点    Java
16 条回复
zjgsamuel
2017-02-17 08:06:22 +08:00
同关注~~
msg7086
2017-02-17 08:40:36 +08:00
做成 Service ,放在自己服务器里。
acrisliu
2017-02-17 08:42:41 +08:00
使用在线授权?
liangdi
2017-02-17 08:57:15 +08:00
如果本地部署的话 很难,要么就所做点代码混淆
murmur
2017-02-17 08:59:28 +08:00
只能多写 c 代码了, c 部分尽可能多破解难度就加一点
然后你需要强力的律师团队 达成平衡就像 cubase 那样 元素版你破解我当不知道,专业版破解了等着吃官司吧
BakCshi
2017-02-17 09:01:27 +08:00
可以在启动的时候验证服务器的 mac 地址
Antidictator
2017-02-17 09:26:54 +08:00
@BakCshi 你源代码都被人看光了,加验证有用吗。。。
BakCshi
2017-02-17 09:53:33 +08:00
@Antidictator java 发布都是 class 文件,怎么会源码都被看光
fangdaidai
2017-02-17 10:13:59 +08:00
@BakCshi 有没有听说过反编译
22too
2017-02-17 10:26:59 +08:00
服务器注册验证。然后再加上其他手段吧。
gam2046
2017-02-17 10:32:06 +08:00
仅谈技术方案:

自己写 ClassLoader ( eg:C++),然后对标准 Java 的 Class 文件做对应的转换。
使用的时候,指定 JVM 使用自己的 ClassLoad 。

此方法强度依赖于 native 文件的反编译难度远大于 byte code 反编译难度。同样要考虑到一旦 JVM 将所有 class 加载到虚拟机后,存在被 dump 的可能,由此绕过 ClassLoader 的反编译。该方法的难点在于 ClassLoader 的反编译,这就回到了 native 的范畴。各种 IDA 之类的就会飞过来.....和 Java 基本没啥关系了。

以上。
Cbdy
2017-02-17 10:46:26 +08:00
混淆就够了,普通的 Web 项目还没有金贵到动虚拟机层面
Antidictator
2017-02-17 11:15:34 +08:00
dif
2017-02-17 11:21:28 +08:00
@fangdaidai 兄弟,你反编译一个项目看看就知道了,反编译以后的代码和正确的源代码只有大部分相似。有反编译的时间不如去买正版了。
chocotan
2017-02-17 12:49:45 +08:00
自己写 classloader+1 ,不过坑不少
Antidictator
2017-02-25 09:08:40 +08:00
@dif 你知道吗。。很多人反编译是为了破解然后卖钱。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/341068

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX