如何将MATLAB创建的DLL文件反编译为mat文件

如何将MATLAB创建的DLL文件反编译为mat文件,matlab,matlab-compiler,Matlab,Matlab Compiler,我知道我们无法将DLL(由MATLAB制作)反编译为.mat文件。但是现在,我有一个由MATLAB创建的DLL(上传)。请尝试将其转换为mat文件。非常感谢。简短回答:不可能。1 详细回答:生成dll时,编译器会对.m源文件进行加密。所有M文件源代码都存储在a中,该文件使用AES加密规范进行加密(和解密),其中由1024位RSA密钥保护。MATLAB编译器运行时(MCR)使用唯一的加密密钥对CTF的扩展内容进行解密,以便它可以执行代码 以下是一些细节: 我们使用AES加密标准来保护CTF存档中

我知道我们无法将DLL(由MATLAB制作)反编译为.mat文件。但是现在,我有一个由MATLAB创建的DLL(上传)。请尝试将其转换为mat文件。非常感谢。

简短回答:不可能。1

详细回答:生成dll时,编译器会对.m源文件进行加密。所有M文件源代码都存储在a中,该文件使用AES加密规范进行加密(和解密),其中由1024位RSA密钥保护。MATLAB编译器运行时(MCR)使用唯一的加密密钥对CTF的扩展内容进行解密,以便它可以执行代码

以下是一些细节:

  • 我们使用AES加密标准来保护CTF存档中的M文件
  • 当从CTF归档文件提取到磁盘上时,M文件仍保留 加密的
  • 密钥也是加密的
  • extractCTF实用程序不解密M文件,而只是提取 它们来自CTF档案


1希望如此。

您的意思是使用.m文件吗?这将是一项非常艰巨的工作,即使你知道如何做……@aschepler:是的。我需要.m文件。你能帮我吗,我没有时间去破译未知数量的汇编代码,理解它在做什么,然后写一些Matlab代码来做一些等效的事情。我们没有任何工具来做,对吗?Thanks@user3336190很抱歉这样做的目的是,除非您编写了代码,否则您不应该能够这样做。如果有一个工具存在,MATLAB会很快修补他们的部署方案,而这个工具很快就会变得无用。@chappjc这是很酷的信息,谢谢。还有,为什么我永远不应该使用length()(ever)?@MattG仅仅因为它选择了最长的维度,这很容易出错。使用
size
显式指定所需的维度非常方便。