本文面向有 MATLAB 代码保护需求但不知道从哪下手的开发者,用最简短的步骤演示如何用 MatLock 对 M 文件进行加密保护。
第 0 步:准备
- 一个你需要保护的
.m文件 - 下载 MatLock 免费版:matlock.open2ai.cn
- MATLAB R2018b 及以上版本(加密后文件的运行环境)
第 1 步:打开 MatLock,导入文件
安装完成后打开 MatLock,点击"选择文件",选中你要加密的 .m 文件。
第 2 步:选择混淆策略
MatLock 提供三个加密等级:
| 等级 | 包含处理 | 适用场景 |
|---|---|---|
| 标准混淆 | 变量重命名 + 控制流混淆 | 一般性保护 |
| 深度混淆 | 标准 + 字符串加密 + 花指令 | 商业交付 |
| AES-256 加密 | 深度混淆 + 整体文件加密 | 最高安全性 |
免费版支持所有等级,区别在于文件数量(免费版限单文件)。
第 3 步:执行加密
点击"开始保护",等待几秒即可完成。
第 4 步:验证加密效果
4a. 用 MATLAB 运行加密后的文件
% 加密后的文件和原始文件运行结果完全一致
encrypted_function(input_data)
4b. 用编辑器打开加密后的文件
你会看到类似这样的代码:
function a1=b2(c3,d4)
e5=zeros(1,f6(c3));g7=h8(e5);i9=j10(g7);
while k11<i9(1) ... [后续逻辑完全不可读]
第 5 步:分发加密文件
把加密后的文件替换原始 .m 文件(建议备份原始文件),分发给客户/合作方。对方可以直接运行,但看不到你的算法实现。
进阶:EXE 加固(专业版)
如果你用 mcc -m 打包了独立 EXE 程序:
- 在 MatLock 中选择"EXE 加固"功能
- 导入打包好的 EXE 文件
- 选择加固等级(标准/深度)
- 执行加固
加固后的 EXE 内置:
- 反调试检测(OllyDbg / x64dbg / WinDbg 附加后立即退出)
- 完整性校验(启动时验证文件哈希,被修改后拒绝运行)
- 内存保护(防止通过内存转储提取代码)
- PE 结构混淆(让 IDA Pro / Ghidra 无法正确解析)
进阶:一机一码授权(专业版)
如果你需要做商业化交付,防止客户把程序二次分发:
- 客户端:用户运行 MatLock 生成机器码(基于 CPU + 主板 + 硬盘指纹)
- 开发端:你导入机器码,设置授权参数(有效期、使用次数等)
- 分发:生成授权文件发给用户
- 激活:用户导入授权文件,程序只能在该机器上运行
总结
| 操作 | 耗时 | 免费版 | 专业版 |
|---|---|---|---|
| 单文件加密 | <1 分钟 | ✅ | ✅ |
| 批量目录加密 | 几分钟 | ❌ | ✅ |
| EXE 加固 | 1-2 分钟 | ❌ | ✅ |
| 一机一码授权 | 2-3 分钟 | ❌ | ✅ |
👉 开始使用:matlock.open2ai.cn