内网版本应用如何解决授权问题

147 天前
 txzh007

有一个需求,需要实现内网激活功能,目前使用的是加密机器码和到期时间去进行匹配,但是无法防住修改系统时间去进行延长使用时间,请问大家有什么解决方案

3521 次点击
所在节点    程序员
42 条回复
wheat0r
147 天前
不懂技术,我知道一般软件企业解决这个问题一般是使用一套法务部门
7lQM1uTy635LOmbu
147 天前
记录起始 timestamp 保存到某个地方,并且将文件加密。程序每过 3600 秒打印当前 timestamp 到文件,然后计算当前每条记录的差值,如果是 3600 秒左右,代表系统时间没有人为修改过,然后计算起始差值,如果差值达到了授权期限就报错。
kkk9
147 天前
定制一个单片机 usb 加密狗呗,授权和时间都从片上拿,内置干电池保持时钟。
belite
147 天前
TOTP 倒过来用 把 TOTP 的 6 位验证码公开比如放在你们公司首页上 程序内置 sed 和你们首页用的 sed 一样 程序启动时要求输入 TOTP 验证码 若是通过验证那么他必须把时间调整的和你们服务器时间一致...哈哈哈
belite
147 天前
本质上是通过某种途径将第三方可信平台的时间传递至客户端且中途不可更改 没有第三方可信平台或模块是做不到的
zzNaLOGIC
147 天前
其实工业软件很多年之前就一直在用硬件加密狗,类似 U 盘。
优点是破解周期相对长
缺点是对于老版本没办法停用,尤其是技术大升级之后,老版本破解之后会损失很多存量用户,人家就不升级一直用老版,除非新版有一些老版本做不到而又刚需的东西才会重复购买。
有点类似游戏机了。
starlz
147 天前
@nevadax 但是如果时间一直不改回来就防不住了
githmb
147 天前
总所周知,时间是不会倒退的,所以可以把上一次正常工作时间加密保存到注册表里,如果发现时间倒退就摆烂
Ayanokouji
147 天前
如果有业务数据,也跟着时间存和查?这样即使改时间了,业务数据也错乱了。不知这个思路可行不。
txzh007
147 天前
@Ayanokouji 桌面软件 相当于一个启动器,只是启动器需要有特殊的命令才能启动关联应用
7lQM1uTy635LOmbu
147 天前
@starlz 当他修改之后一小时就不能用了,下一次 check 会发现本次时间间隔不是一小时
qviqvi
147 天前
开个热点可以吗?
HitouchiMi
147 天前
软件上只要不联网,就不可能防住盗版。任何纯软件的反盗版被破解只是时间问题,在这方面死磕没有意义。软件上越复杂的反盗版机制只会让软件用起来越糟糕,而且越来越不稳定。目前比较好的防盗版只有借助难以逆向实现的硬件加密狗来做或者全程联网。与其和盗版磕,不如做好服务。可以联网的软件做好在线服务,不能联网的做好按照合同、授权的支持服务。
chairuosen
147 天前
totp 的思路?
flyqie
147 天前
@nevadax #2

要是硬件时钟出问题了呢。。
7lQM1uTy635LOmbu
147 天前
@flyqie 害,这不技术支持费用就来了?[手动狗头]
7lQM1uTy635LOmbu
147 天前
而且,现在的计算机,很少见硬件时钟出问题,如果一台机器用到了 cmos 没电,那估计也该计划报废了。
kkk9
147 天前
@belite #4 TOTP 看似巧妙,实则治标不治本。只要跟一遍 TOTP ,hook 掉不就过验证了?

@zzNaLOGIC #6 现在都开始普及内置 esim 物联卡的加密狗了,甚至还能 PLC 配合,关键函数直接放服务器上处理。然后物联卡可以组内网,想 ddcc 服务器也不行,不容易造成损失
ic3z
147 天前
记录下启动和关闭的时间戳。下次启动时间不对就退出呗
IvanLi127
147 天前
你这个需求,直接把当前时间写文件就行了。楼上还真搞防破解啊?我感觉真要防应该不会问这个问题...

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

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

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

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

© 2021 V2EX