1
PolarBears 2021-05-07 20:15:59 +08:00
硬件 key
|
2
nvkou 2021-05-07 20:18:47 +08:00 via Android
写好协议。收集并固定证据就是
这东西你做进去也只是防君子不防小人 参考 intelJ |
3
lsp7572 2021-05-07 20:25:26 +08:00
这种不就是 license 吗,和 java 不 java 完全没关系吧
|
4
manami 2021-05-07 20:27:24 +08:00
签协议,有法律法规约束
|
5
ch2 2021-05-07 20:31:41 +08:00 1
定时往你的服务器发心跳包,如果出现了不止一个 ip 发过来的包,就去警告他们
|
6
66450146 2021-05-07 20:43:19 +08:00
数据保存到你自己的服务器上,收他们数据存储和读写的费用(
|
7
statement 2021-05-07 20:57:55 +08:00 via iPhone
证书 绑定硬件
|
8
jones2000 2021-05-07 22:31:21 +08:00 1
通过 mac 地址生成授权码。
|
9
young1lin 2021-05-07 22:41:45 +08:00 via Android
我记得可以加 License 这种的,定期更换 License,过期后项目启动不了。我第一家公司就是这么做的,比较麻烦。卖大数据平台的,也是这么做的。
|
10
xuanbg 2021-05-07 23:12:26 +08:00
1 、usb 加密狗。
2 、根据用户的机器上的 CPU 序列号什么的生成一个唯一 Key,然后需要使用这个 Key 来获取关键的启动配置信息。私自部署的 Key 你这里没有对应的 value,就无法启动。 |
11
Greatshu 2021-05-08 00:01:12 +08:00
检测到被破解,就触发 bug,数据到达一定量时,程序闪退且无法启动,再次启动提示联系客服。为了保证数据库安全,每个客户单独生成一个密钥,触发 bug 后加密数据库。这样也方便追踪盗版来源。
|
12
geekvcn 2021-05-08 00:03:55 +08:00 via iPhone
硬盘 uuid 不过怕虚拟机,物理机好用
|
13
wangxiaoaer 2021-05-08 07:25:00 +08:00
如果是基于 docker 部署的,上面的大多数什么授权码都不行吧,加密狗支不支持也难说,另外现在都是云平台部署,你加密狗插哪里?那些说发心跳包的,客户如果是本地私有云环境,压根就不连外网,发不过来的。
|
14
MakeItGreat 2021-05-08 07:58:06 +08:00 via Android
让你的程序运行如果不是你部署的环境,会有一个小概率删掉点什么,同时把删掉的这些写入到自己能看的地方
写好联系方式,等他们找你 |
15
EIJAM 2021-05-08 08:20:55 +08:00 via iPhone
签合同
|
16
MrUser 2021-05-08 08:32:33 +08:00
可以考虑关联域名,域名只能解析到一个 IP 。
|
18
wangsd 2021-05-08 08:46:37 +08:00
之前公司的做法是获取电脑硬盘的一个硬件 ID 生成一串序列码,客户需要将序列码给我们然后计算出注册号给他们。
|
19
xuanbg 2021-05-08 08:53:40 +08:00
@bthulu 改字节码跳过去好啊。。。
根据《中华人民共和国刑法》第二百八十六条规定,破坏计算机信息系统罪是指违反国家规定,对计算机信息系统功能或计算机信息系统中存储、处理或者传输的数据和应用程序进行破坏,或者故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的行为。 入刑哦! |
20
hnbcinfo 2021-05-08 08:55:00 +08:00
加密狗
|
22
XiLingHost 2021-05-08 09:06:44 +08:00
把一部分关键逻辑放在你的服务器上,然后做 api 鉴权
|
23
wanguorui123 2021-05-08 09:07:09 +08:00 via iPhone
绑定硬件,每次只允许生成一份软件授权码
|
24
buster 2021-05-08 09:19:06 +08:00
曾经破解过一个 BI 软件,直接修改底层依赖包里的 LICENSE 验证代码,写死过期时间就可以实现无限期使用了。
可以优先考虑如何防止(混淆)反编译,然后再把你的 license 验证代码藏进去。 |
25
timethinker 2021-05-08 09:22:22 +08:00 1
要真防的话是防止不了的,就如 2 楼所言,防君子不防小人,收集证据是一种方法,但是如果他们的服务器不联网或者屏蔽了你们的中央服务器,这一招就没有办法了。
以往的做法就是,软件根据所部署系统的一些特征生成一个唯一标识( UID ),软件厂商根据一些算法,例如使用私匙对这个唯一标识进行签名生成一个授权码。客户获取授权码之后进行配置,然后软件启动的时候获取 UID,并根据授权码和公匙进行校验。 需要指出的是以上方法如果系统环境被复制(在系统层面没有什么是不能模拟的),或者软件内置的公匙被替换为他们自己的,都会导致此方法失效。 估计未来一段时间仍然会有这种独立部署的需求存在,除非客户端是断网的,内部使用的(例如学校内的一些系统),否则现在绝大多数服务基本上都转变为 SaaS 模式了,多租户使用一组服务器,数据上进行隔离分区,不仅方便版本升级,也省去了客户部署的操作。 |
27
matrix67 2021-05-08 09:34:26 +08:00
这不就是单机软件防破解么
于破解过招,保护你的共享软件 ――此文曾作为连载刊登于《电脑报》 2003 年 41 、42 期,如要转载,请注明出自《电脑报》 推荐搜索看一下这篇文章,看雪论坛 03 年左右就有讨论过的。 |
28
jack778 OP @qwe520liao 私有部署是客户对数据安全有心理障碍,反正就是单独部署在自己服务器才感觉安心,这是心理需求,并非真正的安全需求。
|
29
saytesnake 2021-05-08 09:43:00 +08:00
可以上外网,在线授权 orgid,无法上外网,就加密狗。
|
30
uselessVisitor 2021-05-08 13:56:21 +08:00
加一层 mac 地址验证?
|
31
cheng6563 2021-05-08 13:59:30 +08:00
找一个 c 的加解密库,预编译成 dll/so 用 jni 调用。
给所有 jar 文件加密,自定义个类加载器,即时解密 jar 文件并加载。 通过 mac 地址生成授权码。 |