0

我已經在MATLAB中編寫了一個程序,並且正在考慮將程序部署到最終用戶的三種方法。第一種方法涉及將.m文件轉換爲p代碼,然後將其部署到可以在MATLAB中使用p代碼但不能自己查看代碼的最終用戶。第二種方法是使用MATLAB Compiler和MATLAB Builder NE將.m文件編譯爲C#,然後使用Visual Studio對代碼進行模糊處理並創建最終產品。第三種方法是使用MATLAB Compiler和MATLAB Builder EX創建Excel加載項,並將Excel加載項部署到最終用戶。哪種部署方法創建的程序更難

我想知道這是有人反向工程或開裂並獲得該代碼在每個部署的這三種方法,我考慮的是如何艱難。我知道創建一個無法破解或逆向工程的程序基本上是不可能的,但是比其他方法更難以破解的部署方法是什麼?我知道p代碼可以讓最終用戶訪問這些文件的名稱,我想這些文件可能有助於某人對您的程序進行逆向工程。

在此先感謝您的幫助!

+3

我建議你使用P碼,因爲有可能是更少的工具破解這一點,因爲這將是一個很大更有可能運行沒有問題。 – Jonas 2012-04-23 16:25:22

回答

1

我最終打電話給MathWorks瞭解這個問題。 MathWorks工程師告訴我,他不允許告訴我加密的類型,因爲它是專有信息。

我也問了MathWorks的工程師什麼樣的加密被用於編譯器和生成器EX或生成器NE。他說這使用128位AES加密來加密m文件,但程序中使用的其他類型的文件不會像.dll或圖片文件那樣加密。

然後我要求其具有更強的加密,p代碼或程序部署用於編譯器和構建器。他說很難說,因爲它們是不同的加密類型,但在使用Compiler and Builder之前,實際上可以將.m文件轉換爲p代碼,從而使得使用Compiler and Builder部署的防護產品至少與p-碼。

1

在從部署的版本進行逆向工程代碼的能力方面,還有在這些方法之間的做法差異不大。

.NET for Builder不會將MATLAB轉換爲C#。 MATLAB編譯器和Builder產品歸檔和加密你的代碼,並創建一個小的包裝器(.NET程序集或Excel加載項),將其解壓縮並在MATLAB編譯器運行時執行。在執行過程中,dearchived文件雖然仍然是加密的,但在臨時目錄中是可見的,所以文件名的可用方式與p編碼相同。

P-編碼將是最簡單,最便宜給你,但會要求您的最終用戶有MATLAB和你使用任何工具箱的副本。與Compiler和/或Builder產品一起部署的產品不會要求他們擁有任何東西,但您需要購買這些產品,並且部署過程稍微複雜一些。

相關問題