做软件卖软件,最头疼两件事:客户换台电脑就喊激活码失效,盗版倒卖禁而不绝。一机一码授权是目前性价比最高的方案:每台机器一个码,绑定硬件、换机失效,配合微信自动发码,一个人也能管起授权闭环。这篇把方案拆开讲。
一、一机一码怎么工作:机器码 + 签名
核心就两步:
- 客户机器生成机器码:软件读取本机硬件信息(主板序列号、硬盘序列号、MAC 地址等),哈希后得到一串唯一机器码。同一台机器每次算出来都一样,换台机器就不同。
- 服务器签发授权码:你的服务器用私钥对这个机器码做签名,得到授权码(一串字符或一个授权文件)。软件激活时用公钥验签:签名合法、机器码和本机一致,才放行。
私钥只存在你手里,公钥打进软件。这样即使别人拿到授权码,也伪造不了新码——因为他没有你的私钥。
二、离线激活:客户没网也能用
很多软件客户环境不能联网(工厂车间、内网办公、医院),激活必须支持离线。做法:客户在软件里复制机器码,通过微信或网页发给你;你用离线工具导入机器码、生成授权文件,发回给客户,客户导入即激活。
授权文件同样用非对称签名,离线环境下也无法伪造。这个流程手工做也行,客户多就做个管理后台,一条条自动生成。
三、微信自动发码:把激活做成闭环
一两个人卖软件,人工发码会累死。做个自动发码机器人:客户付款后加微信发机器码 → 机器人验订单 → 自动生成授权码发回去。关键点:
- 订单校验:发码前查订单号/付款状态,防白嫖
- 记录留痕:每个码对应哪个机器码、哪天发的,存后台,方便售后查证
- 限次防滥用:同一订单限发 1-2 次,换机器要人工审核
四、防破解的三道防线
没有绝对防破解,目标是让破解成本高于买授权的钱。三道防线按成本从低到高:
- 代码混淆:把关键校验逻辑混淆、字符串加密,增加逆向难度——最便宜,先做
- 服务端校验:核心功能(连数据库、出报表)必须回连服务器验证授权,离线破解就失效
- 定期回连:软件每隔一段时间联网校验一次,授权被吊销的自动停用
别把钱全花在混淆上。对一机一码产品,破解者往往直接改代码跳过校验,混淆挡不住高手。真正有效的是把值钱的功能放服务端——本地破解了,核心功能照样用不了。
五、这套方案适合谁
适合卖桌面软件、行业工具、定制系统的独立开发者和小团队:单价几百到几千、需要控制盗版和重复激活。纯 SaaS 产品不需要一机一码,账号密码加设备数限制更简单。
常见问题
Q: 一机一码授权码是怎么算出来的?
A: 客户机器生成唯一机器码(主板序列号、硬盘序列号、MAC 地址等组合哈希),你的服务器用私钥对机器码签名得到授权码。软件激活时用公钥验签,签名合法且机器码匹配才放行。
Q: 客户没网怎么激活?
A: 做离线激活:客户在软件里复制机器码发到你这边,你用离线工具生成授权文件,客户导入即可。授权文件用非对称签名,离线环境照样防伪造。
Q: 授权码会被破解或复用吗?
A: 一机一码绑定硬件,换机器就失效,不能复用。防破解靠三件事:代码混淆增加逆向难度、授权验证逻辑放服务端、关键功能定期回连校验。没有绝对防破解,目标是让破解成本高于买授权。
想要一套能自动发码的授权系统?
一机一码授权 · 离线激活 · 微信自动发码 · 源码交付
立即免费咨询