我需要用Python或MATLAB編寫一個包含一些專有信息的程序,但是如果程序是分佈式的,不會輕易透露這個專有信息。在Matlab和Python中保護源代碼
雖然我意識到一個確定的黑客可以對任何源代碼進行反向工程,那麼使用Python或MATLAB編寫代碼的安全性會更容易嗎?
我需要用Python或MATLAB編寫一個包含一些專有信息的程序,但是如果程序是分佈式的,不會輕易透露這個專有信息。在Matlab和Python中保護源代碼
雖然我意識到一個確定的黑客可以對任何源代碼進行反向工程,那麼使用Python或MATLAB編寫代碼的安全性會更容易嗎?
在MATLAB中,你可以使用命令pcode
,這preparses您的MATLAB代碼的形式,是由人讀取,但究竟運行相同的(實際上,非常稍快一些)作爲原始MATLAB代碼。會發生什麼情況是,對於您編碼的每個.m
文件,您將得到一個擴展名爲.p
的新文件。 .p
文件與.m
文件運行相同,但無法讀取。
或者,您可以購買MATLAB編譯器,它可以將您的整個應用程序轉換爲代碼加密的獨立可執行文件。
+1:只是挑剔:獨立可執行文件中的代碼沒有加密,它是機器代碼。從理論上講,它可以被反向設計。 – 2013-05-09 15:08:07
'pcode'的文檔有點混亂。有時它表示*加密*,有時*內容遮蓋*。如果它是加密的,那麼大概你還必須提供一些方法在合法用戶的運行時解密。 – James 2013-05-09 16:08:40
@EitanT不,事實並非如此。 MATLAB編譯器生成一個精簡的可執行封裝器,其實是機器代碼。但所有這些包裝都是啓動MCR,然後執行你的MATLAB代碼。 MATLAB代碼與精簡的可變包裝器和可能的MCR打包在一起,並且是_encrypted_,而不是機器代碼。它用AES加密。 – 2013-05-09 16:46:46
不在python中。你可以發佈「編譯」.pyc文件而不是'.py'文件......但這是python字節碼,可以很容易地解開。 – mgilson 2013-05-09 15:00:13
您試圖保護的是數據還是您的實施? – James 2013-05-09 15:55:47
我試圖保護實施,特別是一些方程式。沒有任何數據寫入程序。 – user2366657 2013-05-12 14:00:45