我有一个.m文件,我希望与朋友分享,但我对.m文件不感兴趣。有人可以用最好的方法帮助我将其转换为不可解码的文件吗? 我尝试通过输入pcode example.m将其转换为.p文件 但我不相信它真的在保护它。我能够使用以下链接将我的.p文件转换回.m文件。 https://sites.google.com/site/sippeyfunlabs/matlab-hacks/please-do-not-secure-your-password-in-matlab-p-code
这实际上证实了我的代码没有受到保护。
如果有人分享保护.m文件和共享的最佳方法,那就太好了。
由于
答案 0 :(得分:2)
你可以build a mex file。
这将完全模糊您的实际MATLAB代码,因为它将用C / C ++ / FORTRAN编写,但如果您的朋友确定足以查找它们,算法仍将存在。
答案 1 :(得分:2)
您自己提供的link已经表明混淆MATLAB代码非常困难:
事实上,MATLAB语言很难被保护甚至模糊。 这是由于后期绑定(或动态绑定)功能 MATLAB。 [...]与此相关的元信息量 功能基本上禁止任何添加代码级安全性的尝试。 简单地说,如果有一个MATLAB文件,它会调用一个函数foo 在里面。在运行时之前,MATLAB解释器甚至都不知道 如果foo是存储在M文件或内置函数或mex中的函数 功能甚至工作区功能句柄。因此,它必须存储foo 就像生成的P代码中的某个地方一样。
此页面上已经提到了最佳解决方案:
如果确实需要这样做,那么使用好的旧二进制文件就是一个 更好的解决方案。或者您可以将关键代码放在服务器上 来自用户。