授权注册-软件保护工具(1):聊聊流程

开发背景

又一次是因为需求激励而开始的集中精力学习-开发模式。
开发,并且迭代了数个版本的管理系统面临扩大规模的应用需求,因此软件保护版本管控就必不可少,而首先想到的就是做一个注册机,首先将软件保护起来,进行一台计算机一个授权码的操作,这样至少就不会无节制地扩散。

这里插一句题外话:软件/产品的产权对于个人或者公司来说都是很重要的,一旦开发的软件进入产品化流程,那么产权意识就应当引起重视,并不是一个Demo随便扩散的意识了。当然,这和开源精神是不矛盾的,我后面也会对软件的架构、各模块进行分析,各接口进行介绍,因为软件开发的技术点是共享的,否则我也不可能在几天“折腾”出这样的授权工具。


软件授权注册工具介绍

  • 提取计算机唯一识别信息;
  • 整合提取信息生成【请求码/机械码】;
  • 加密策略支持;l 将【请求码】对应到相应版本的加密策略下,生成【注册码】;
  • 一个注册码仅对一台计算机授权有效。

说起软授权、注册这样的字眼,肯定大家第一反应想到的核心就是:加密。是的,加密是一个很关键的节点,对于软件的可复杂或可简单的级别区分,就在加密的难易程度上了,什么样的算法加密?md5、base64、RSA非对称加密……甚至是异或、加一减一,都是你所选择的安全加密策略
当然,再厉害的算法,理论上是可以破解的,但是引入破解成本变量,有些算法在现实上就可以认为不可破解。不过我更偏向于从另一个角度考虑,安全——并不就纯粹依靠技术的力量可以实现的,而是依赖规则的制订,界限的分明,也就是这一篇分享要重点介绍的注册软件的流程。正是因为有流程上的划规矩,定界限,安全加密策略才能作为整个流程上的节点,去夯实架构,而不是唯一的防火墙,单薄地支撑安全。
这也是我后期会秉承开源精神,分享API和一些关键代码的原因,因为安全重点不在于单一的某个节点,而在于整个框架的组合而带来的安全性。

  • 以下是一个最简化的注册软件使用场景描述:
    在这里插入图片描述
    在使用原理上就是这么简单,而国内外接触的一些专业软件的授权,像微软Office,SkylineGlobal等专业且庞大的授权,其应用场景的原理也如此,而专业且高级的原因是因为各个节点都有专业的研究和投入,不只是加密算法,也包括授权策略的丰富(授权时间、授权支付等)、版本的管控、硬件信息提取、跨平台支持等等因素。
    所以,授权注册工具,是一个可大可小的工程,我现在做的也并非要一步到位的丰富,个人知识有限,仅能最大限度地在软件设计上将各个模块提炼出来,支持扩展性。

从界面上介绍流程

  1. 用户打开软件(未授权):
    在这里插入图片描述

  2. 用户发送【授权版本号】+【请求码】到管理员处(任意渠道);

  3. 管理员使用授权工具进行授权:
    在这里插入图片描述
    授权工具可使用同级目录下的【RegisterCfg.json】进行简单定制化配置:
    图标路径、标题、当前生成策略版本号。

{   
	"LOGO_ICON" : "Logo_ico.ico",   
	"LOGO_TITLE" : "CCMS-RegisterManager",   
	"VERSION_NUM" : "6CD6FEFA-A532-4B6E-9E9F-9F8306D58EC5"
}
  1. 管理员对应加密版本策略生成对应【注册码】:
    在这里插入图片描述
  2. 用户收到【注册码】后输入,点击确定,若匹配,则正常进入正版授权软件:
    授权成功情况,OK后正常进入【被保护的软件】。(注:若无授权时间策略保护,则无需每次注册)
    授权成功情况,OK后正常进入【被保护的软件】。(注:若无授权时间策略保护,则无需每次注册)

在这里插入图片描述错误情况,(无法启动被保护软件,直到输入正确验证码)


明确各个节点的流程介绍

RegisterCore节点:
在这里插入图片描述

细分节点:

  • 加解密库
  • 安全加密策略机制
  • 设备信息提取

WarrantDialog节点:
在这里插入图片描述

细分节点

  • 验证逻辑
  • 交互窗口
  • 本地验证存取与解析

用笔和纸画出来的方法,最大激发了头脑风暴,随后再用专业工具整理出来就是工作量的问题了。
(若字写得太丑,画得太不清楚请见谅,联系我,及时改进)


下期预告

结合最后两幅图的“头脑风暴”画法,将节点梳理清楚了,下一节则重点结合图,介绍API、代码。同时分享在开发中遇到的一些技术难点和坑。

联系我

欢迎提出问题、交流技术,本人经验尚浅,尽最大能力去学习、理解、梳理,而后分享,若有纰漏请联系我,共同学习。
若有相关的需求开发或需要提供API,欢迎联系。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值