MATLAB Pcode跟裸奔有什么区别

文摘   科技   2023-02-08 13:04   德国  

之前一直有传闻说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代码保护方面比较常见的几种方法


最后祝大家,工作学习顺利!


打浦桥程序员
MATLAB搞事情博主 ^_^
 最新文章