内部工具怎么加授权发给客户?按工具形态选方案
自己写的工具,发给客户之后通常会出现三种情况:
- 客户把安装包转给了他的朋友;
- 客户用了两年,但一直没续费;
- 客户换了电脑,让你重新发一份。
这些都不是靠“再发一份”能解决的,而是交付方式的问题。给工具加一层授权,成本远低于事后追责。
一、先判断:你的工具是哪种形态
| 形态 | 典型来源 | 对应做法 |
|---|---|---|
| 已有的 EXE | C#/WinForms/WPF、C++、Delphi、Python 打包、PowerBuilder | 用 EXE 加密工具直接加密,不改代码 |
| HTML / Electron 项目 | H5 工具、Electron 应用、KRPano 项目 | 用 HTML 打包工具输出 EXE 并启用验证 |
| 安卓 APP | 网页打包 APK、自研 APP | APK 打包工具的一机一码,或加固后售卖 |
| 源码交付 | 客户要求给源码 | 无法加壳,只能靠合同与技术授权条款 |
关键结论:只要你能拿到一个可运行的 EXE,就不需要改代码。 授权是在外层加的一道门,而不是业务逻辑的一部分。
二、三种授权方式怎么选
| 维度 | 静态密码 | 离线一机一码 | 网络验证 + 卡密 |
|---|---|---|---|
| 需要联网 | 否 | 否 | 是 |
| 绑定设备 | 否 | 是 | 是 |
| 能否单独撤销 | 否 | 否 | 能 |
| 能否设有效期 | 否(重打包才行) | 能 | 能 |
| 批量交付 | 一码通用 | 逐台算码 | 批量生成卡密 |
| 运维成本 | 零 | 低 | 需要后台服务 |
| 适合客户数 | 任意(弱管控) | 1–50 | 50 以上 |
选择路径:
- 客户少、要求不高、只是不想被随手转发 → 静态密码;
- 客户机器不能联网(内网、产线、政企终端) → 离线一机一码;
- 要按年收费、要能停用、要批量发 → 网络验证 + 卡密。
三种方式的完整对比见HTML打包EXE三种加密方式对比。
三、形态 A:已有 EXE(最常见)
使用 EXE一机一码打包加密大师,全程图形界面,不需要会写授权代码。

五步交付流程
- 选择母包:选中你要交付的原始 EXE;
- 填写软件 ID:一个项目一个 ID,同一个 ID 的软件在一台电 脑上只需激活一次,激活码可通用;
- 选择加密模式:离线环境选一机一码;可联网且要能停用,选网络验证;
- 设置试用:允许试用次数填 3–5 次,让客户先体验到价值;
- 打包输出:绿色版适合 U 盘交付,安装版适合正式客户。
客户侧激活流程
客户双击程序 → 弹出激活窗口并显示机器码
→ 复制机器码发给你
→ 你在「计算激活」中生成激活码
→ 客户输入激活码 → 程序正常启动
激活码可以设置有效期与允许打开次数:
- 按年收费:有效期设 365 天;
- 按次收费:把打开次数设为 50/100 次;
- 项目制交付:设更长的有效期,一次性授权。
让交付显得更正式
在「版权设置」中填写版本号、公司名称、软件名称、软件描述,客户在文件属性里能看到完整信息:

另外还可以配置专属图标、激活页说明文字(写清联系方式和购买方式),这些细节直接影响客户对“这是不是正规软件”的判断。
四、形态 B:HTML项目
如果你的工具本身是网页,直接打包成 EXE 更省事:
- 在 HTML一键打包EXE工具 中选择本地
index.html; - 内核选 Chrome(保证不同客户电脑上渲染一致);
- 勾选「禁用调试」,避免客户直接看源码;
- 在「加密设置」中启用一机一码或网络验证;
- 按需设置使用天数限制、使用次数 限制、每运行 24 小时关闭。
五、形态 C:安卓 APP / 网页打包的 APK
- HTML 项目打包 APK 时,在左侧选择「一机一码加密」,勾选启用并设置激活页提示;
- 用户首次打开看到机器码,你把机器码输入工具生成激活码;
- 需要保护源码时,同时填写本地文件加密 Key。
详见 APK 一机一码使用说明。
六、交付台账:别靠记忆
客户数超过 10 个之后,一定要留台账。最小可用字段:
| 客户 | 软件/项目 | 软件 ID | 机器码 | 激活码 | 授权方式 | 到期日 | 备注 |
|---|---|---|---|---|---|---|---|
| A 公司 | 报表工具 | id1 | xxxx | xxxx | 一机一码 | 2027-10-24 | 换机 1 次 |
台账的三个作用:
- 续费提醒:到期前主动联系;
- 纠纷举证:客户说“我买过”,你能查到机器码与激活时间;
- 换机控制:明确记录已换机次数,超出按次收费。
使用网络验证时,后台本身就能提供激活记录、绑定机器码、激活时 间与操作日志,台账可以只记录订单号与卡密。
七、六个容易踩的坑
1. 客户在虚拟机里运行
虚拟机的机器码会随快照/迁移变化,导致频繁要求重新激活。建议在授权条款中明确“虚拟机环境不提供换机支持”,或引导客户使用物理机。
2. 客户重装系统
一般不影响机器码;但更换主板、硬盘等主要硬件后会变化。这是正常现象,提前在说明里写清楚。
3. 一台电脑多个用户共用
机器码通常按设备生成,同一台电脑上不同 Windows 账号视为同一设备。这对内部工具是合理的,对按人头收费的产品则需要额外约定。
4. 客户环境完全离线
离线一机一码不需要网络,但网络验证需要。签约前先确认客户环境,别等交付时才发现验证服务器连不上。
5. 杀毒软件拦截
加密后的程序可能被启发式误报。提前给客户发一份《安装说明》,说明可能出现误报及处理方式;企业客户可提前把文件哈希给 IT 加白。详见报毒处理。
6. 程序需要管理员权限
有些工具本身要求管理员权限运行,加密后可能继承不到。此时在设置中勾选「使用管理员权限启动加密的 EXE」,或在打包时选择兼容模式重新测试。
八、合同里写什么
技术手段解决不了全部问题,条款要跟上。建议至少写明:
- 授权范围:授权几台设备、是否允许在虚拟机/服务器上使用;
- 授权期限:永久 / 按年 / 按项目,到期后的处理方式;
- 禁止条款:不得转售、出租、反向工程、去除授权机制;
- 换机政策:每年可免费换机次数,超出如何处理;
- 升级政策:大版本升级是否另行收费。
九、一张图看清整条链路
工具开发完成
↓
选择母包(EXE / HTML / APK)
↓
选择授权方式(密码 / 离线一机一码 / 网络验证)
↓
打包输出 + 填版权信息
↓
发给客户 → 客户回传机器码 → 生成激活码 → 激活
↓
台账记录 → 到期提醒 → 续费 / 换机 / 停用
下载与官方入口
EXE 加密授权
HTML 打包
APK 打包