之前一直有传闻说MATLAB Pcode是能被破解的,一开始我是不信的,直到我在MATLAB官方论坛上看到有大佬当众破解
我彻底震惊了,Pcode简直和裸奔没有区别
于是春节闲看没事,我花了两天时间,用MATLAB写了个脚本把Pcode给破解了,先来看一下大致效果
具体怎么破解的就不深入介绍了,写这篇文章的主要目的其实只是想提醒大家,慎用Pcode,它并没有你想象的那么安全
那还有哪业办法能够保护自己的代码?
01
升级MATLAB到2022a以以上,新版MATLAB的Pcode用了更复杂的混淆处理算法,从文件大小也能看出,新版Pcode生成的p文件更大
pcode(item,'-R2022a')
不过需要注意的是,以这种方式创建的P文件只能在MATLAB 2022a及更高版本中运行
02
还可以考虑在生成p代码之前,先对源代码进行混淆处理
我之前与过一个工具,叫HaoShit,可以一把源代码改的跟屎一样,完全没办法阅读,但又不影响使用
文章链接:如何委婉拒绝别人跟你要MATLAB源代码
03
另外,还可以把关键算法的源代码通过MATLAB Code编泽成二进制文件,再使用外部工具对生成的二进制文件进行混淆处理,多加一层保护,最后再通过MATLAB去调用这个算法文件
04
有朋友可能会提议打包成exe,我觉得还是算了,生成的exe文件太大,而且对于复杂功能的脚本,一些函数是不支持生成exe的
更重要的是有传闻说,生成的exe是能被破解
以上就是目前MATLAB代码保护方面比较常见的几种方法
最后祝大家,工作学习顺利!