如何设计一个尽量防止破解的系统激活码

20 小时 11 分钟前
 chobits336

系统部署到客户的服务器,全部服务用 docker 启动,如何设计一个激活码机制让这个系统到指定时间不能使用

现在的设计是:

  1. 生成 rsa 公私钥,使用私钥加密 license ,部署时配置 license 文件
  2. 公钥放在系统中,使用公钥解密 license 校验其合法性
  3. license 里有系统 id 、签发人、过期时间属性

部署是离线环境,防止通过修改系统时间来破解授权,就想到了用系统运行时间来校验;将运行时间加密存在文件里,但如果这个时间文件被删除或被克隆,记录的运行时间就会被重置了,请问各位大佬怎么解决这个问题

3581 次点击
所在节点    程序员
43 条回复
DeWjjj
9 小时 14 分钟前
我的做法,内存区一个活跃区块,没有文本,及时校验,如果 nop ,直接跳进暗桩。
我知道有一些人喜欢看汇编 cmp xx,xx 。没啥用的,防不住,每次迭代的时候都丢点暗桩进去。
触发,触发信息向服务器获取 ntp 时间校验,ntp 有加随机数盐。
jadeluvlove
8 小时 44 分钟前
沒有不能破解的系統,
我把你電腦冰起來讀 memory 取 key 也可以.
humbass
7 小时 41 分钟前
设计一个远程的 API ,定期获取 token ,无效的 token 不能启动。

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

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

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

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

© 2021 V2EX