AxProtector .NET
.NET 软件自动化加密防护
AxProtector .NET 提供了高可靠性的底层安全解决方案,专用于保护基于 .NET 架构开发的应用程序免遭逆向工程分析与未授权调用。该组件能够为应用程序构建深层安全防护架构,自动执行授权许可校验,实时监控软件环境的真实性与代码完整性,并有效抵御系统级逆向工程攻击。目标应用程序将在类 (Class) 与方法 (Method) 级别实现细粒度的深度加密,且经编译处理后的最终交付包依然完全保持跨平台兼容性。
借助多样化的配置选项,系统支持通过一键式自动化流程高效完成 .NET 应用程序的底层加密与授权绑定:
-
自动化加密防护 (Automatic Protection):对完整的 .NET 应用程序包执行全局加密,并自动注入底层的授权许可校验机制。
-
模块化授权许可 (Modular Licensing):对应用程序架构进行模块化解耦,系统将根据下发的具体授权许可状态,动态解锁并调度独立的功能特性。
-
数据文件加密 (File Encryption):针对配置文件、AI 模型等任意外部业务或数据文件,提供底层直达的授权管控与高强度数据加密保护。
-
代码转移执行 (CodeMoving):为构建抵御逆向工程的终极防御体系,AxProtector .NET 引入了 CodeMoving 架构机制。该机制能够将已加密的核心代码片段动态迁移至硬件加密锁 (CmDongle) 或云端授权容器 (CmCloudContainer) 内部,并在该物理或云端隔离的安全沙箱环境中完成代码的闭环执行。
-
无绑定模式 (Unbound Mode):允许在终端节点无需配置任何授权许可的前提下实施程序加密,从而实现纯粹的知识产权 (IP) 与核心算法机密 (Know-how) 防护。
此外,针对特定或更复杂的授权调度业务,系统亦支持将 CodeMeter Core API 深度集成至目标应用程序的底层逻辑中。
自动化加密防护
AxProtector .NET 的核心功能在于通过一键式操作,将授权许可与加密防护机制无缝集成至 .NET 应用程序中。在此机制下,程序集内的所有方法 (Methods) 均将基于独立软件开发商 (ISV) 预先定义的授权许可进行加密。这些方法在经过底层转换后,能够利用授权许可中包含的密钥实现按需动态自解密。若未获取相应的合法授权许可,则绝对无法执行解密操作。
在程序执行期间,各个独立的加密 .NET 方法被加载至内存中。在被实际调用前,这些方法将始终维持密文状态。若终端环境已部署预先定义的授权许可,上述方法将在运行时 (Runtime) 被动态解密。此解密流程在系统后台自动完成。标准的 .NET 字节码 (IL 代码) 由目标主机环境中的即时编译器 (JIT Compiler) 执行编译转换。在编译转换完成后,底层安全层会即刻将 IL 代码从内存中擦除,确保其保持明文状态的时间窗口极短。该机制对系统性能的损耗微乎其微,同时大幅提升了底层的安全防御等级。作为 .NET 环境的专属特性,底层安全层能够智能集成至程序执行环境中,从而在代码安全性与运行效率之间实现最优平衡。
默认状态下,AxProtector .NET 提供基于对话框的可定制事件处理机制。系统亦支持根据具体的业务逻辑对事件响应流程进行深度定制。例如,可配置为向前端弹窗展示提示信息,或在后台执行对用户透明的静默响应。系统内置了开箱即用的标准配置模板;同时,也允许将跨应用的标准化行为封装为通用函数库,或通过异常处理等机制将其深度集成至现有的应用程序架构中。
AxProtector .NET 提供了符号混淆的配置选项。作为一种不可逆的代码转换机制,符号混淆能够有效消除代码特征,使得试图进行逆向分析的攻击者无迹可寻。
AxProtector .NET 的工程部署实现零代码侵入,完全无需对底层源码执行任何修改。整个加密操作作为构建后处理流程 ,在代码编译完成之后、安装包生成之前执行。此外,AxProtector .NET 可作为持续集成管道的核心组件,无缝接入自动化的构建系统中。
模块化授权许可
通过模块化授权许可(Modular Licensing),应用程序中的各项功能特性可实现独立授权与按需激活。该方案支持在 .NET 应用程序中构建灵活的按需功能(Features-on-Demand)定制化授权体系。在确保极高安全防御等级的同时,工程集成过程保持高度简便。
系统提供两种便捷的集成路径,以满足不同的开发架构需求:开发人员既可在代码逻辑中直接嵌入精简的授权检查点,也可将独立的授权许可直接绑定至特定的方法(Methods)或类(Classes)中。上述两种模式均可灵活选用,以实现最优的架构适配。
依托授权检查点机制,系统能够自主掌控程序的执行流向。例如,可在应用程序中动态隐藏未授权的功能模块,或在用户尝试调用时触发相应的提示信息。
通过实施独立的授权分配策略,系统的整体安全防御强度得以显著提升。授权分配规则既可通过用户友好的可视化配置界面进行设定,亦可基于外部配置文件进行声明,或直接以注解(Annotations)的形式写入底层源码中。
文件加密
知识产权不仅承载于应用程序的代码逻辑中,往往也包含在配置文件、业务数据或模型文件等外部资产内。AxProtector .NET 提供了专门的安全机制,用于确保持外部文件免遭恶意篡改与窥探。
针对此类资产,系统支持在交付前对外部文件执行独立加密,且全过程实现零代码侵入,完全无需修改底层源码。每个文件均可实施单独的授权许可绑定,确保受保护的应用程序仅在检测到合法有效的授权时,方可加载并解密这些外部文件。
若业务场景要求在运行时态 (Runtime) 对文件内容进行动态重写或实时修改,建议在应用程序中深度集成 CodeMeter Core API 以实现定制化的文件处理逻辑。
CodeMoving
AxProtector .NET 引入的 CodeMoving 机制能够为 .NET 应用程序提供最高等级的安全防护。安全敏感的核心代码模块被独立实现为 C 语言源码文件中的各个子程序。在加密处理阶段,每一个子程序均会被自动化编译,并作为加密的二进制数据块(Binary Blob)嵌入至应用程序中。
在运行时 (Runtime) 期间,系统通过 API 调用这些代码片段,并将代码动态卸载并传输至硬件加密锁 (CmDongle) 或云端授权容器 (CmCloudContainer) 内部的 CmContainer 中完成解密与安全执行。这种向 CmContainer 动态卸载代码的架构设计,赋予了系统极佳的可扩展性与动态升级能力。
依托 CodeMoving 机制,安全防护等级超越了传统常规防护手段,能够为应用程序构建极致的安全边界——是追求极致安全基线的核心应用场景的理想技术方案。
无绑定模式
作为授权加密方案的替代选项,无绑定模式 (Unbound Mode) 允许在无需配置任何授权许可的前提下直接运行应用程序。该变体模式极为适用于免费软件 (Freeware)、免费增值 (Freemium) 商业模型,或与企业自研的授权管理系统进行联合部署。
在面向免费软件的部署场景中,整个应用程序均可通过加密及附加的防御机制实现全方位的防逆向工程保护,且在运行时完全不依赖任何授权许可。
在面向免费增值模型的部署场景中,应用程序同样能够在无授权状态下安全运行。其中待解锁的高阶付费功能,可通过 AxProtector .NET 模块化授权许可 (Modular Licensing) 机制交由 CodeMeter 进行便捷且高强度的安全保护与授权管控。
若企业已部署自主研发或第三方的授权管理系统,并希望进一步强化防逆向工程能力,无绑定模式可作为一项核心的补充安全机制。在此模式下,应用程序将获得全面保护,从而大幅提升攻击者搜寻并篡改授权调用逻辑的技术门槛。该策略在系统向高安定的 CodeMeter 技术栈平滑迁移的过渡阶段尤为适用,能够确保在旧版授权兼容期内维持系统的整体安全性。
技术要求
-
件安全锁 (Firm Security Box, FSB):需配备包含 AxProtector .NET 有效授权许可的硬件设备。
-
加密环境:Windows (x86_64)、Linux (x86_64 glibc)。
-
运行时环境:Windows (x86、x86_64)、Linux (x86 glibc、x86_64 glibc、armhf glibc、aarch64 glibc、x86_64 musl、armhf musl、aarch64 musl)、macOS (x86_64、Apple Silicon)。
-
授权许可容器:硬件加密锁 (CmDongle)、软件激活锁 (CmActLicense)、云端授权容器 (CmCloudContainer)。
-
支持的 .NET 版本:4.7.2 至 9.0、Core 2.0 至 3.1。