不联网的情况下,怎么控制一个软件的过期不准使用?

2019-09-20 15:57:46 +08:00
 fileinthehole

如题,想请教各位业界大佬,一个软件给到客户处,客户不联网,时间不会跟着网络时间更新,根据本地时间的话,他可以私自改动时间导致控制不住,开服务的话,服务也可能被关掉吧。想请教一下有没有什么好的控制方式?

19525 次点击
所在节点    程序员
135 条回复
3dwelcome
2019-09-20 16:59:10 +08:00
本地定时记录时间到数据库,只增不减,如果发现客户时间异常,就启动自爆程序。
也就是说,客户只能往后改时间,不能往前改时间。
zdnyp
2019-09-20 17:03:57 +08:00
每次运行的时候都记录时间,本次运行的时间不能小于上次记录的时间
chengyiqun
2019-09-20 17:05:24 +08:00
本地计时, 加密写到配置文件和注册表就完事了. 有的软件甚至加密都懒得做.
antscript
2019-09-20 17:17:22 +08:00
1.打开软件 - 检测是否有本地时间记录
有 - 2
没有 - 3

2.检测本地记录时间是否早于系统时间
是 - 4
不是 - 5

3.本地记录当前时间并加密(记录在一个不容易找到的位置)

4.正常使用,定期执行 3 2

5.提示系统时间有错,锁定软件
lilquen
2019-09-20 17:25:19 +08:00
既然无法使软件完全做到过期不准使用,那就换个思维;使它破解的成本大于购买的成本就好了?客户一直要改时间来使用这个软件岂不是很烦(干脆买就好了)?
jimrok
2019-09-20 17:28:35 +08:00
如果你的软件跟时间没有关系,确实不好做。但如果软件里需要记录正确时间才能正常工作的,确实好做。改了时间,数据就全乱了。
momocraft
2019-09-20 17:37:45 +08:00
想办法在逻辑里依赖单调增的系统时间,然后合同里写明 因用户环境出错导致的数据错乱你不负责
Devilker
2019-09-20 17:46:20 +08:00
三分钟的事儿,加个试用期 PE 壳
smdbh
2019-09-20 17:46:44 +08:00
上 USB,硬件计数
KevZhi
2019-09-20 17:53:43 +08:00
又造轮子
自带时钟和电池的加密狗了解一下?
mamahaha
2019-09-20 17:57:53 +08:00
别想了,没好办法,cad 软件公司的实力都是毋容置疑的,但很少见到没被破解的。
最好的办法就是不联网就没法使用。
wuhongwei
2019-09-20 18:00:32 +08:00
@fileinthehole #21 原文:“@arrow8899 我们想了好几种方法,但领导老是给你钻牛角尖,把客户想成高端黑客[/手动白眼]”
======
回复:z 遇到这种领导是真的难受
starsriver
2019-09-20 18:05:05 +08:00
adobe 在中国二十年防盗版抗衡,十四个版本换了四次认证方式,不联网自动关闭软件,计时试用,cc 统一认证和在线不定时检查完整性。。

没有一个不被破解。

我只能说,你看着办。
crab
2019-09-20 18:07:18 +08:00
加壳类的软件都是写注册表,记录首次时间。
passerbytiny
2019-09-20 18:07:45 +08:00
@fileinthehole #37 如果要 7 天变成“每天 5 分钟,总共用好几年”,那么他每次使用后都必须记录当时的时间,除第一次外每次使用前都必须修改系统时间,并且一次错——忘了改或改错了——都不能犯。如果他经常使用,那么“多次超高精确性”的修改系统时间,是无穷大的成本,要你的软件比火星贵他才值得这么做。(别想着用脚本代替人工,那太容易出错了,何况写脚本也是成本。)如果他只是偶尔使用,那么实际上你并没有任何损失。
hstdt
2019-09-20 18:09:04 +08:00
说说我的想法,就用本地时间就可以了。设置过期时间,再按照顺序记录启动时间。如果启动时间在过期时间之前来回变,就禁用,让用户联网激活。同时两次启动时间相同也禁用。把用户改时间的成本提高就好了。
ys0290
2019-09-20 18:09:18 +08:00
打点计数,一小时一点,够数关闭
viator42
2019-09-20 18:12:55 +08:00
客户端本地保存一个值随时间递减,减到 0 之后软件自动关闭。客户想继续用的话编译一个新的软件包发过去。我上一家就是这么干的
secretman
2019-09-20 18:14:36 +08:00
首次使用,签名文件就加上开始时间和过期时间,用特殊方式签名就好
问题在于签名文件会被删掉,注册表也会有问题,时间会被篡改
这个其实看破解成本对方能不能承受吧
没有完美的方式~
参考 surge3 的试用限制,看看能不能有些收获!
explore365
2019-09-20 18:16:43 +08:00
每秒读取系统时间记录一个时间戳,每秒读取系统时间,如果系统时间早于上次时间戳 XX 秒(修改电脑时间了),软件禁用。

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

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

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

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

© 2021 V2EX