2014-04-25 177 views
2

我知道我們無法從DLL(由MATLAB製作)反編譯爲.mat文件。但現在,我有一個由MATLAB創建的DLL(上傳here)。請嘗試將其轉換爲mat文件。非常感謝。如何將由MATLAB創建的DLL文件反編譯爲mat文件

+3

你的意思是.m文件嗎?即使你確切地知道如何去做,這也是一項非常艱苦的工作。...... – aschepler

+0

@aschepler:是的。我需要.m文件。你能幫我 – user3336190

+3

對不起,我沒有空餘的時間來破譯未知數量的彙編代碼,瞭解它在做什麼,然後編寫一些可以做同等事情的Matlab代碼。 – aschepler

回答

6

簡短回答:不可能。

龍答案:的的.m源文件由編譯器產生的DLL時加密。所有M文件源代碼都存儲在Component Technology File (CTF)中,該文件使用AES加密規範進行加密(和解密),其中symmetric keys受1024位RSA密鑰保護。 MATLAB Compiler Runtime(MCR)使用唯一的加密密鑰來解密CTF的擴展內容,以便它可以執行代碼。

a MathWorks developer了幾個具體問題:

  • 我們使用AES加密標準在CTF檔案保護M-文件。
  • 當從CTF檔案中提取到磁盤上時,M文件保留 加密。
  • 密鑰也被加密。
  • extractCTF實用程序不會解密M文件,而只是從CTF歸檔文件中提取 。

希望。

+0

我們沒有任何工具可以做,對嗎?謝謝 – user3336190

+1

@ user3336190對不起。意圖是你不應該能夠這樣做,除非你寫了代碼。如果存在一個工具,MATLAB會迅速修補他們的部署方案,這個工具會變得毫無用處。 – chappjc

+0

@chappjc這是很酷的信息,謝謝。另外,爲什麼我不應該使用length()(永遠)? – MattG