EA / 指标 本地授权加密系统 · LicGuard v2

离线单文件 · 双击即用 · 把任意未加密的 MT4/MT5 的 EA、指标、脚本注入「账号+时间」授权。内置模块与已交付的 12 个授权版完全一致(QHASK LicGuard v2)。账号默认以 FNV-1a 哈希 + XOR 混淆写入,反编译扫不到明文账号。

① 待加密源码

粘贴或上传均可,上传自动读取(按扩展名预选平台)

② 授权配置(不填 = 不限制)

下拉选预设自动填日期;也可直接手填(格式 2026-12-31 23:59 或带千分位均可);选「永久」则不限时间。
账号填入后默认生成 ENC 混淆包并写入 LIC_ACCOUNTS_ENC,LIC_ACCOUNTS 留空——这样反编译也看不到明文账号。LIC_ACCOUNTS_ENC 非空时优先于明文。

③ 加密结果

就绪。左侧粘贴源码、填好配置后点上方按钮。

④ 自校验

生成后会自动校验:混淆串可解回、注入点已标注、未重复注入。

⑤ 批量加密整个文件夹

将用上方「授权配置」里的账号 / 到期 / 授权方 / 产品 / 前缀,逐文件按扩展名判定平台后一次性加密。
尚未选择文件夹。

⑥ 算法自检(与 EA 端 MQL 一致性)

以下 4 组标准测试向量由「本地授权模块使用说明」提供。HTML 工具生成的所有 ENC 串必须与其完全一致,EA 端才能正确校验。
使用流程: 粘贴/上传源码 → 填账号(或粘 ENC 串)+ 到期 → 点「注入授权并加密」→ 校验通过 → 下载 → MetaEditor 编译(F7)→ 只发 .ex4/.ex5 给客户。
加密效果: 账号不匹配 / 时间过期 → EA 不初始化、不再处理行情(不开新仓);指标不计算、不绘制;均弹窗 + 日志提示未授权。刻意不自动平仓撤单,避免误伤客户已有持仓。
客户为什么看不到: 全部用 #define 编译期常量(非 input);默认不在图表显示任何授权信息;用 ENC 时账号只以 32 位哈希存在,不可逆。修改配置必须重新编译才生效。
与已交付 12 个授权版的关系: 本工具内置的就是那批文件用的同一份 LicGuard v2 母版,只替换 3 个 #define 的值。重做此 HTML 是为了让你以后给任意新 EA/指标加授权时,不用再跑 Python 脚本,浏览器里一站式完成。