如何有效保护源代码 —— .m脚本文件?

时间:2022-06-25
本文章向大家介绍如何有效保护源代码 —— .m脚本文件?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在实际情况中可能会遇到这样的事情,我们在分享自己编写的matlab程序时只是为了演示程序所实现的功能,并不希望对方看见源代码。要怎样才能实现既能加密源代码又能够在matlab中正常执行加密文件呢?今天就给大家介绍一个新的加密命令 —— pcode。

pcode命令通常有两种使用方式:

一、直接在命令窗口使用:

pcode + file1.m file2.m ....

注:各文件名之间用空格隔开,如果文件不在当前路径中,需要在文件名前添加文件路径。使用

pcode *.m

可以将当前目录下的所有m文件同时加密。

二、在m文件使用pcode函数

使用方式如下:

a、pcode(fun1,...,funN),加密fun1.m至funN.m文件

b、pcode(fun,'-inplace'),在脚本或函数文件所在的同一个文件夹中创建 P 文件

以下是在m文件中使用pcode函数示例:

% 指定主路径
pathT = 'D:DocumentsMatlabtest';
% 获取主路径子文件夹下的m文件名,*代码所有m文件
fun = fullfile(pathT,'aihaozhe','*.m');
% 调用加密函数pcode
pcode(fun);

特别说明,未使用参数时,pcode的生成的加密文件都是当前路径中。

以上就是m文件加密的介绍,原则上使用该方法加密是安全的,但网上有人可以破解pcode加密的文件,目前该破解渠道已经被mathworks官方阻止,而且高版本matlab加密强度应该较之前的老版本有很大提高,因此使用pcode加密还是相对可靠的。网上有一个叫tomlab的工具箱,能够破解纯计算型的pcode加密文件,因此建议大家若要对源代码进行加密,尽量在代码中添加诸如判断、循环等语句,这样就可以有效防止这个工具箱的破解。