Jac*_*019 2 matlab reverse-engineering
我的公司有一个用matlab编写的分析产品.我们想将其编译为可执行文件并出售给第三方.我们关注的一件事是代码被反向工程的可能性.
对编译的matlab代码进行反向工程是否很难?与编译的c ++代码相比,这样做有多难?因此,如果我们需要将所有内容转换为c ++,我们会做出决定,这显然会花费大量的劳动时间.
MATLAB编译器(以及其他部署产品,例如Builder产品)不会像C或C++编译器那样编译代码.
MATLAB编译器对您的代码进行加密和存档,并将其打包在一个瘦的可执行包装器中.您可以将这个提供给最终用户以及MATLAB Compiler Runtime(可以自由再发布,如果需要,也可以打包在可执行文件中).
当最终用户运行应用程序时,可执行文件简单地解压缩并解密MATLAB代码,并针对MCR而不是MATLAB本身执行它.
在任何情况下,您的代码都不会以解密的形式对最终用户可见(但是,如果用户在临时目录中查找,则应用程序中包含的非代码文件将是这样).
"逆向工程"代码将涉及破坏代码文件的加密 - 我相信使用的加密是AES256,一个强大的标准.我不是专家,但我的理解是,这将比C/C++应用程序的反编译更难.
我也同意许多评论者的建议,即最好的想法是简单地制定许可限制并依赖于此.如果它让您放松心情,那么使用MATLAB Compiler可以成功部署和分发大量商业应用程序.
编辑:R2015a用新产品MATLAB Compiler SDK取代了Builder产品.以上答案对于此产品保持不变.