我會將我的業務代碼分成腳本語言。它將是Lua或Python。 我的問題是用腳本文件編寫的業務代碼可以被他人查看。 由於腳本文件將不會編譯爲打開。任何人都可以看到它。編譯腳本文件Lua或Python
我該如何隱藏它? 我想如果我使用Python,它會被編譯(.pyo),但Lua看起來更適合我。
我會將我的業務代碼分成腳本語言。它將是Lua或Python。 我的問題是用腳本文件編寫的業務代碼可以被他人查看。 由於腳本文件將不會編譯爲打開。任何人都可以看到它。編譯腳本文件Lua或Python
我該如何隱藏它? 我想如果我使用Python,它會被編譯(.pyo),但Lua看起來更適合我。
您將無法輕鬆隱藏。您可以進行加密和解密。問題是,人們將能夠看到你是進程內存,並看到代碼清晰的一天。如果您想阻止人們更改lua,您可以創建一個散列,在每次運行時檢查文本文件。
(對於Lua)
取決於它應該是多麼安全。爲了避免愚蠢的編輯,您可以更改擴展名,並將路徑配置爲無論如何識別它。
爲了避免知道如何更改擴展名的人,您可以發送使用luac編譯的文件。爲了破譯你必須付出相當大的努力。
但是要真正保存,我猜唯一的方法是對代碼進行加密/簽名,也許修改核心,使其只能運行簽名檢查爲確定或可以解密的文件。
你可以在可執行文件中嵌入lua代碼。下面是如何在C中嵌入lua的鏈接:http://heavycoder.com/tutorials/lua_embed.php
鏈接的教程展示瞭如何從C內部執行Lua代碼,但Lua代碼仍然存儲在單獨的文件中,並且可用於讀取/反編譯/編輯,原始海報試圖避免。 – 2011-06-02 05:26:01
對不起,我沒有閱讀我首先鏈接的頁面的所有內容。但是,您仍然可以將lua代碼嵌入到可執行文件中,以「隱藏」Lua代碼的方式。 – Alexander 2011-06-02 12:24:15
如何對腳本代碼進行加密和簽名? – suyuti 2011-06-01 10:24:34
我不知道。你將不得不尋找現有的庫,或者自己編寫代碼。 – jpjacobs 2011-06-01 16:02:33