winggundam
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Matlab加密的方法

向下

Matlab加密的方法 Empty Matlab加密的方法

發表 由 lung 周二 4月 28, 2015 5:11 pm

生成p文件的方法很簡單,在command wondow裏面用 mcc -B pcode file.m命令轉化為pcode文件,據說是不會被反編譯的。他的缺點是不能夠脫離Matlab單獨運行,必須還在command window裏面調用,可移植性不強。如果生成.exe文件就可以解決這個問題。

生成.exe文件的方法稍微復雜點:

1、首先要保證你的程序是函數型的,而不是腳本形式的。如果是腳本形式的也不要緊,只需要在腳本文件第一行添加 function []=name()即可。

2、然後,在command window裏用mcc -m -B sgl file.m命令生成.exe文件,期間會讓你選擇編譯器(我的是VC6.0),會發現生成了一堆文件。

3、將上步生成的那一堆文件一起拷到待運行的機器。此時仍需matlab所必需的動態連接庫。將 <matlab path >/extern/lib/win32/mglinstallar.exe拷貝到到待運行機器上。

4.在待運行的機器上先運行mglinstallar.exe, 然後選擇解壓目錄,將在將在指定目錄下解壓縮出bin和toolbox兩個子目錄,其中在bin\win32目錄下就是數學庫和圖形庫脫離MATLAB運行所需的所有動態連接庫,共有n個。可以將這些.dll考入system32, 也可以直接放在應用程序目錄下(我把它拷在應用程序目錄下了)。而toolbox目錄則必須與應用程序同一目錄。

5.大功告成,雙擊.exe即可運行了。

總結:兩種方法都可以達到保護源代碼的目的,但是各有各的優缺點。生成p文件的優點是方法簡單,生成文件大小只是源代碼的3倍左右,缺點是不能脫離matlab環境運行。生成.exe文件的優點是可以脫離matlab單獨運行,缺點是生成的文件大小是原來的幾千倍(5555555555,當然包含那些.dll文件,體積最龐大的一部分)。就拿我的程序做個比較,源碼是8.34K,生成p文件22.6K,生成可執行文件(含那些.dll)共30多兆。

http://hi.baidu.com/workinsh/item/c2704ae7c6b7650b560f1d96
lung
lung
Admin

文章數 : 26067
注冊日期 : 2009-07-12

回頂端 向下

Matlab加密的方法 Empty 回復: Matlab加密的方法

發表 由 lung 周二 4月 28, 2015 5:15 pm

將Matlab的M文件轉為P文件和exe可執行文件達到加密效果

在matlab中如果你的代碼很重要,需要加密,目前我查到了兩種方法:一、生成p文件;二、生成.exe文件
matlab生成p文件的方法很簡單,在command wondow裏面用
pcode yourfile.m
命令可以將M文件轉化為對應的pcode文件yourfile.p,據說是不會被反編譯的。

http://blog.csdn.net/anymake_ren/article/details/38367293
lung
lung
Admin

文章數 : 26067
注冊日期 : 2009-07-12

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章