防篡改机制 Anti-Tamper
为了保障组件库的稳定性与知识产权,TechUI 独创了基于 Wasm守卫 的多重防篡改体系。
该机制为了确保组件运行环境的完整性 (Integrity)。任何针对核心代码的逆向工程、DOM 结构中授权信息的强行破坏或授权逻辑的绕过,都可能触发系统的熔断保护。
TechUI承诺:正常使用之下,不会触发任何的熔断机制,并且守卫验证在使用过程中也是无感的。核心原理
TechUI 将核心的渲染算法、授权校验逻辑以及状态机,从 JavaScript 迁移至 Rust 编写的 WebAssembly 模块中。
- 黑盒运行:Wasm 编译后的二进制代码难以阅读和调试,天然屏蔽了大部分基于源码修改的破解手段。
- 内存隔离:关键变量存储在 Wasm 线性内存中,普通浏览器插件或脚本无法通过
window对象直接修改。 - 双向锚定:JS 层与 Wasm 层保持毫秒级的心跳通信。一旦 Dom层/JS层被修改(如篡改授权信息),Wasm 层会立即感知并停止计算;反之亦然。
熔断机制
以下行为被系统判定为“篡改攻击”,将立即触发防御机制:
- DOM 结构破坏
- 在免费版或已授权状态下,TechUI 会渲染署名标识或授权信息到Dom结尾的注释中(不会显示到页面中,可以通过调试工具查看)。
- 违规操作:通过JS代码移除此提示信息Dom节点。
- 篡改浏览器标题标题
- 在取得项目许可证的情况下,系统标题
document.title处于锁定的状态。 - 违规操作:尝试通过JS代码对document.title进行任何的篡改行为。
- 在取得项目许可证的情况下,系统标题
- 许可证错误使用
- 许可证用于错误的组件库
- 违规操作:如取得了Scifi许可证,用于Base或者Prime。
- 更多.....不进行一一列举
⚠️ 熔断告警
当检测到篡改等违规行为时,TechUI会触发熔断机制,直接移除整个Dom元素,并告警信息!
误报排查
目前TechUI作者通过各个环境的测试,并未发现误报的情况。如果您确信自己没有进行篡改操作,但组件进入了熔断状态,请通过换环境换系统,关闭浏览器插件等方法初步排查。
锁定问题后,请通过以下方式联系我们的安全团队。
开发者说: 我们花费了无数个日夜打磨这些组件。防篡改机制不是为了与开发者为敌,而是为了保护那个让 TechUI 能够持续维护下去的商业模式。感谢您的理解与支持。